diff --git a/bitbake/lib/prserv/db.py b/bitbake/lib/prserv/db.py index 559935544a..86eafe338c 100644 --- a/bitbake/lib/prserv/db.py +++ b/bitbake/lib/prserv/db.py @@ -43,6 +43,10 @@ class PRTable(object): continue raise exc + def sync(self): + self.conn.commit() + self._execute("BEGIN EXCLUSIVE TRANSACTION") + def _getValueHist(self, version, pkgarch, checksum): data=self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=?;" % self.table, (version, pkgarch, checksum)) diff --git a/bitbake/lib/prserv/serv.py b/bitbake/lib/prserv/serv.py index a9c7ed104c..7864594bb6 100644 --- a/bitbake/lib/prserv/serv.py +++ b/bitbake/lib/prserv/serv.py @@ -74,7 +74,7 @@ class PRServer(SimpleXMLRPCServer): except: self.handle_error(request, client_address) self.shutdown_request(request) - + self.table.sync() def process_request(self, request, client_address): self.requestqueue.put((request, client_address)) @@ -120,6 +120,7 @@ class PRServer(SimpleXMLRPCServer): while not self.quit: self.handle_request() + self.table.sync() logger.info("PRServer: stopping...") self.server_close() return