diff options
-rw-r--r-- | bitbake/lib/prserv/serv.py | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/bitbake/lib/prserv/serv.py b/bitbake/lib/prserv/serv.py index a4ae229134..1303f12b45 100644 --- a/bitbake/lib/prserv/serv.py +++ b/bitbake/lib/prserv/serv.py | |||
@@ -62,9 +62,6 @@ class PRServer(SimpleXMLRPCServer): | |||
62 | self.register_function(self.importone, "importone") | 62 | self.register_function(self.importone, "importone") |
63 | self.register_introspection_functions() | 63 | self.register_introspection_functions() |
64 | 64 | ||
65 | self.db = prserv.db.PRData(self.dbfile) | ||
66 | self.table = self.db["PRMAIN"] | ||
67 | |||
68 | self.requestqueue = Queue.Queue() | 65 | self.requestqueue = Queue.Queue() |
69 | self.handlerthread = threading.Thread(target = self.process_request_thread) | 66 | self.handlerthread = threading.Thread(target = self.process_request_thread) |
70 | self.handlerthread.daemon = False | 67 | self.handlerthread.daemon = False |
@@ -100,10 +97,12 @@ class PRServer(SimpleXMLRPCServer): | |||
100 | self.table.sync_if_dirty() | 97 | self.table.sync_if_dirty() |
101 | 98 | ||
102 | def sigint_handler(self, signum, stack): | 99 | def sigint_handler(self, signum, stack): |
103 | self.table.sync() | 100 | if self.table: |
101 | self.table.sync() | ||
104 | 102 | ||
105 | def sigterm_handler(self, signum, stack): | 103 | def sigterm_handler(self, signum, stack): |
106 | self.table.sync() | 104 | if self.table: |
105 | self.table.sync() | ||
107 | raise SystemExit | 106 | raise SystemExit |
108 | 107 | ||
109 | def process_request(self, request, client_address): | 108 | def process_request(self, request, client_address): |
@@ -145,6 +144,10 @@ class PRServer(SimpleXMLRPCServer): | |||
145 | 144 | ||
146 | bb.utils.set_process_name("PRServ") | 145 | bb.utils.set_process_name("PRServ") |
147 | 146 | ||
147 | # DB connection must be created after all forks | ||
148 | self.db = prserv.db.PRData(self.dbfile) | ||
149 | self.table = self.db["PRMAIN"] | ||
150 | |||
148 | logger.info("Started PRServer with DBfile: %s, IP: %s, PORT: %s, PID: %s" % | 151 | logger.info("Started PRServer with DBfile: %s, IP: %s, PORT: %s, PID: %s" % |
149 | (self.dbfile, self.host, self.port, str(os.getpid()))) | 152 | (self.dbfile, self.host, self.port, str(os.getpid()))) |
150 | 153 | ||