diff options
author | Vsevolod Stakhov <vsevolod@rambler-co.ru> | 2011-11-08 18:47:37 +0300 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@rambler-co.ru> | 2011-11-08 18:47:37 +0300 |
commit | cf21ad184448908536c32495db26f97bffd3f584 (patch) | |
tree | e8f4bf0efbcbbd166f79f26bc6bbc3ff6658028f /src/kvstorage_sqlite.c | |
parent | d8f9f8f6c64001dab5f0357b1c6af93bf6c3eea5 (diff) | |
download | rspamd-cf21ad184448908536c32495db26f97bffd3f584.tar.gz rspamd-cf21ad184448908536c32495db26f97bffd3f584.zip |
Implement lazy backend writing using sync_ops = 0.
Allways wait for kvstorage worker to prevent data corruption.
Diffstat (limited to 'src/kvstorage_sqlite.c')
-rw-r--r-- | src/kvstorage_sqlite.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/kvstorage_sqlite.c b/src/kvstorage_sqlite.c index 3fa4bab20..3f4fe6979 100644 --- a/src/kvstorage_sqlite.c +++ b/src/kvstorage_sqlite.c @@ -262,7 +262,7 @@ rspamd_sqlite_insert (struct rspamd_kv_backend *backend, gpointer key, struct rs g_queue_push_head (db->ops_queue, op); g_hash_table_insert (db->ops_hash, ELT_KEY (elt), op); - if (g_queue_get_length (db->ops_queue) >= db->sync_ops) { + if (db->sync_ops > 0 && g_queue_get_length (db->ops_queue) >= db->sync_ops) { return sqlite_process_queue (backend); } @@ -287,7 +287,7 @@ rspamd_sqlite_replace (struct rspamd_kv_backend *backend, gpointer key, struct r g_queue_push_head (db->ops_queue, op); g_hash_table_insert (db->ops_hash, ELT_KEY (elt), op); - if (g_queue_get_length (db->ops_queue) >= db->sync_ops) { + if (db->sync_ops > 0 && g_queue_get_length (db->ops_queue) >= db->sync_ops) { return sqlite_process_queue (backend); } @@ -357,7 +357,7 @@ rspamd_sqlite_delete (struct rspamd_kv_backend *backend, gpointer key) g_queue_push_head (db->ops_queue, op); g_hash_table_insert (db->ops_hash, ELT_KEY(elt), op); - if (g_queue_get_length (db->ops_queue) >= db->sync_ops) { + if (db->sync_ops > 0 && g_queue_get_length (db->ops_queue) >= db->sync_ops) { sqlite_process_queue (backend); } |