diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-01-10 13:00:39 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-01-10 13:00:39 +0000 |
commit | e2a39605e3c975fa228c75ba5cb4482600e5a8a7 (patch) | |
tree | 690644607c58a55a6b42de57a08fe9e11f961bb2 | |
parent | a1adbe7a3c752832220e7ba645ff770075730d18 (diff) | |
download | bitbake-e2a39605e3c975fa228c75ba5cb4482600e5a8a7.tar.gz |
persist_data: Don't loop forever waiting on database locks
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | lib/bb/persist_data.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/bb/persist_data.py b/lib/bb/persist_data.py index 0ebdf36f4..b8c239294 100644 --- a/lib/bb/persist_data.py +++ b/lib/bb/persist_data.py @@ -52,12 +52,14 @@ class SQLTable(collections.MutableMapping): def _execute(self, *query): """Execute a query, waiting to acquire a lock if necessary""" + count = 0 while True: try: return self.cursor.execute(*query) break except sqlite3.OperationalError as exc: - if 'database is locked' in str(exc): + if 'database is locked' in str(exc) and count < 500: + count = count + 1 continue raise |