From: Vsevolod Stakhov Date: Tue, 24 Feb 2015 17:08:26 +0000 (+0000) Subject: Set robust flag for mutexes to avoid dead locks. X-Git-Tag: 0.9.0~630 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e9c050ea60fb5936a84ec71258d41e4a2cc5a6d2;p=thirdparty%2Frspamd.git Set robust flag for mutexes to avoid dead locks. --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 72b01cfed0..1aabfd3a94 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -796,6 +796,7 @@ int main (void) pthread_mutexattr_t mattr; if (pthread_mutexattr_init(&mattr) != 0) return 0; if (pthread_mutexattr_setpshared(&mattr, PTHREAD_PROCESS_SHARED) != 0) return 0; + if (pthread_mutexattr_setrobust(&mattr, PTHREAD_MUTEX_ROBUST) != 0) return 0; return 1; } ") diff --git a/src/libutil/mem_pool.c b/src/libutil/mem_pool.c index 6c9ee6f163..560ac55396 100644 --- a/src/libutil/mem_pool.c +++ b/src/libutil/mem_pool.c @@ -819,6 +819,7 @@ rspamd_mempool_get_mutex (rspamd_mempool_t * pool) pthread_mutexattr_init (&mattr); pthread_mutexattr_setpshared (&mattr, PTHREAD_PROCESS_SHARED); + pthread_mutexattr_setrobust (&mattr, PTHREAD_MUTEX_ROBUST); pthread_mutex_init (res, &mattr); rspamd_mempool_add_destructor (pool, (rspamd_mempool_destruct_t)pthread_mutex_destroy, res);