[70122] trunk/base/src/cregistry/registry.c

jmr at macports.org jmr at macports.org
Thu Jul 29 23:32:20 PDT 2010


Revision: 70122
          http://trac.macports.org/changeset/70122
Author:   jmr at macports.org
Date:     2010-07-29 23:32:18 -0700 (Thu, 29 Jul 2010)
Log Message:
-----------
check if sqlite3_prepare returns SQLITE_BUSY in reg_open (#25400)

Modified Paths:
--------------
    trunk/base/src/cregistry/registry.c

Modified: trunk/base/src/cregistry/registry.c
===================================================================
--- trunk/base/src/cregistry/registry.c	2010-07-30 06:03:33 UTC (rev 70121)
+++ trunk/base/src/cregistry/registry.c	2010-07-30 06:32:18 UTC (rev 70122)
@@ -196,8 +196,11 @@
     if (initialized || can_write) {
         sqlite3_stmt* stmt = NULL;
         char* query = sqlite3_mprintf("ATTACH DATABASE '%q' AS registry", path);
-        if (sqlite3_prepare(reg->db, query, -1, &stmt, NULL) == SQLITE_OK) {
-            int r;
+        int r;
+        do {
+            r = sqlite3_prepare(reg->db, query, -1, &stmt, NULL);
+        } while (r == SQLITE_BUSY);
+        if (r == SQLITE_OK) {
             /* XXX: Busy waiting, consider using sqlite3_busy_handler/timeout */
             do {
                 sqlite3_step(stmt);
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20100729/317a616a/attachment.html>


More information about the macports-changes mailing list