evolution-data-server r9181 - trunk/camel
- From: sragavan svn gnome org
- To: svn-commits-list gnome org
- Subject: evolution-data-server r9181 - trunk/camel
- Date: Thu, 24 Jul 2008 19:56:52 +0000 (UTC)
Author: sragavan
Date: Thu Jul 24 19:56:51 2008
New Revision: 9181
URL: http://svn.gnome.org/viewvc/evolution-data-server?rev=9181&view=rev
Log:
2008-07-25 Srinivasa Ragavan <sragavan novell com>
** Fix for bug #544491
* camel/camel-db.c: Lock while 2 thread try to access same folder's
table using same handle.
Modified:
trunk/camel/ChangeLog
trunk/camel/camel-db.c
Modified: trunk/camel/camel-db.c
==============================================================================
--- trunk/camel/camel-db.c (original)
+++ trunk/camel/camel-db.c Thu Jul 24 19:56:51 2008
@@ -139,7 +139,7 @@
int ret;
if (!cdb)
- return TRUE;
+ return TRUE;
g_mutex_lock (cdb->lock);
d(g_print("Executing: %s\n", stmt));
@@ -257,6 +257,7 @@
int ret = -1;
char *errmsg = NULL;
+ g_mutex_lock (cdb->lock);
ret = sqlite3_exec(cdb->db, query, count_cb, count, &errmsg);
while (ret == SQLITE_BUSY || ret == SQLITE_LOCKED) {
if (errmsg) {
@@ -266,7 +267,8 @@
ret = sqlite3_exec (cdb->db, query, count_cb, count, &errmsg);
}
-
+ g_mutex_unlock (cdb->lock);
+
CAMEL_DB_RELEASE_SQLITE_MEMORY;
if (ret != SQLITE_OK) {
@@ -416,7 +418,7 @@
return TRUE;
d(g_print ("\n%s:\n%s \n", __FUNCTION__, stmt));
-
+ g_mutex_lock (cdb->lock);
ret = sqlite3_exec(cdb->db, stmt, callback, data, &errmsg);
while (ret == SQLITE_BUSY || ret == SQLITE_LOCKED) {
if (errmsg) {
@@ -426,7 +428,7 @@
ret = sqlite3_exec (cdb->db, stmt, callback, data, &errmsg);
}
-
+ g_mutex_unlock (cdb->lock);
CAMEL_DB_RELEASE_SQLITE_MEMORY;
if (ret != SQLITE_OK) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]