summaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2013-08-28 16:06:10 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-08-29 00:13:22 +0100
commit06d76645900b2a7db8f88a0ad3bf4ae66cef52f1 (patch)
tree5e0f585113a974e1207374ae23f44c0b79db63d3 /bitbake
parent5fba9d8c6c9982f59b0285fe17e91e162e25d495 (diff)
downloadast2050-yocto-poky-06d76645900b2a7db8f88a0ad3bf4ae66cef52f1.zip
ast2050-yocto-poky-06d76645900b2a7db8f88a0ad3bf4ae66cef52f1.tar.gz
bitbake: prserv/db: Threading fixes
Enabling threading for the PRServer causes a number of issues. Firstly is the obtuse error: sqlite3.InterfaceError: Error binding parameter 0 - probably unsupported type which is due to the class not being derived from object. See: http://docs.python.org/2/library/sqlite3.html#registering-an-adapter-callable Secondly, we want to enable multithreadded access to the database so we do this when we open it. This opens the way up to multithreading the PR server. (Bitbake rev: 5709efc2ff1e36529bd28f49cd093ccfa7abff7f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rw-r--r--bitbake/lib/prserv/db.py4
-rw-r--r--bitbake/lib/prserv/serv.py4
2 files changed, 4 insertions, 4 deletions
diff --git a/bitbake/lib/prserv/db.py b/bitbake/lib/prserv/db.py
index 9d8e9db..7d74327 100644
--- a/bitbake/lib/prserv/db.py
+++ b/bitbake/lib/prserv/db.py
@@ -14,7 +14,7 @@ sqlversion = sqlite3.sqlite_version_info
if sqlversion[0] < 3 or (sqlversion[0] == 3 and sqlversion[1] < 3):
raise Exception("sqlite3 version 3.3.0 or later is required.")
-class PRTable():
+class PRTable(object):
def __init__(self, conn, table, nohist):
self.conn = conn
self.nohist = nohist
@@ -223,7 +223,7 @@ class PRData(object):
except OSError as e:
if e.errno != errno.EEXIST:
raise e
- self.connection=sqlite3.connect(self.filename, isolation_level="DEFERRED")
+ self.connection=sqlite3.connect(self.filename, isolation_level="DEFERRED", check_same_thread = False)
self.connection.row_factory=sqlite3.Row
self._tables={}
diff --git a/bitbake/lib/prserv/serv.py b/bitbake/lib/prserv/serv.py
index 6d0c718..d6f3f44 100644
--- a/bitbake/lib/prserv/serv.py
+++ b/bitbake/lib/prserv/serv.py
@@ -165,7 +165,7 @@ class PRServer(SimpleXMLRPCServer):
self.delpid()
os._exit(0)
-class PRServSingleton():
+class PRServSingleton(object):
def __init__(self, dbfile, logfile, interface):
self.dbfile = dbfile
self.logfile = logfile
@@ -182,7 +182,7 @@ class PRServSingleton():
def getinfo(self):
return (self.host, self.port)
-class PRServerConnection():
+class PRServerConnection(object):
def __init__(self, host, port):
if is_local_special(host, port):
host, port = singleton.getinfo()
OpenPOWER on IntegriCloud