diff options
author | Vsevolod Stakhov <vsevolod@rambler-co.ru> | 2009-06-17 18:26:45 +0400 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@rambler-co.ru> | 2009-06-17 18:26:45 +0400 |
commit | 453ecf68e3b51941944dbc3b1dece11342be3810 (patch) | |
tree | ee197ebfaa55f50914afee3ed03d70c31bd864b0 /src/mem_pool.c | |
parent | dc48e79c1507e1235a271b4a3763e9701651d2ab (diff) | |
download | rspamd-453ecf68e3b51941944dbc3b1dece11342be3810.tar.gz rspamd-453ecf68e3b51941944dbc3b1dece11342be3810.zip |
* Try to fix locking problem with double unlocking
Diffstat (limited to 'src/mem_pool.c')
-rw-r--r-- | src/mem_pool.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mem_pool.c b/src/mem_pool.c index 4261e9f8d..e034ea652 100644 --- a/src/mem_pool.c +++ b/src/mem_pool.c @@ -508,7 +508,7 @@ void memory_pool_unlock_mutex (memory_pool_mutex_t *mutex) { mutex->owner = 0; - (void)g_atomic_int_dec_and_test (&mutex->lock); + (void)g_atomic_int_compare_and_exchange (&mutex->lock, 1, 0); } memory_pool_rwlock_t* |