summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/prserv
diff options
context:
space:
mode:
authorLeonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>2015-09-23 13:39:27 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-09-28 12:00:32 +0100
commit134b267ebbcbf7a7bc43915e204da776530911d4 (patch)
treea183b7aa8624d52238df474850ee73feb67cb6d0 /bitbake/lib/prserv
parentcaf422c6697b183da0b8d0364aef4f6763ac0c17 (diff)
downloadpoky-134b267ebbcbf7a7bc43915e204da776530911d4.tar.gz
bitbake: prserv/serv: Close the DB connection out of class destructor
When launching the PR server daemon, the PRData __del__ function was being called (no reason found yet) where the DB connection closed, thus following PR updates were not getting into the DB. This patch closes the connection explicitly, not relaying on the __del__ function execution. Closing the connection in turn causes all WAL file transactions to be moved into the database (checkpoint), thus effectively updating the database. [YOCTO #8215] (Bitbake rev: c1b4754f69003df1a83fafc1c80a9ef74400b6dd) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/prserv')
-rw-r--r--bitbake/lib/prserv/db.py2
-rw-r--r--bitbake/lib/prserv/serv.py2
2 files changed, 2 insertions, 2 deletions
diff --git a/bitbake/lib/prserv/db.py b/bitbake/lib/prserv/db.py
index 437958013d..36c9f7b630 100644
--- a/bitbake/lib/prserv/db.py
+++ b/bitbake/lib/prserv/db.py
@@ -248,7 +248,7 @@ class PRData(object):
248 self.connection.execute("PRAGMA journal_mode = WAL;") 248 self.connection.execute("PRAGMA journal_mode = WAL;")
249 self._tables={} 249 self._tables={}
250 250
251 def __del__(self): 251 def disconnect(self):
252 self.connection.close() 252 self.connection.close()
253 253
254 def __getitem__(self,tblname): 254 def __getitem__(self,tblname):
diff --git a/bitbake/lib/prserv/serv.py b/bitbake/lib/prserv/serv.py
index 3cb2e03dad..c557837b83 100644
--- a/bitbake/lib/prserv/serv.py
+++ b/bitbake/lib/prserv/serv.py
@@ -148,7 +148,7 @@ class PRServer(SimpleXMLRPCServer):
148 while not self.quit: 148 while not self.quit:
149 self.handle_request() 149 self.handle_request()
150 self.handlerthread.join() 150 self.handlerthread.join()
151 self.table.sync() 151 self.db.disconnect()
152 logger.info("PRServer: stopping...") 152 logger.info("PRServer: stopping...")
153 self.server_close() 153 self.server_close()
154 return 154 return