mirror of
https://github.com/isc-projects/bind9.git
synced 2026-04-22 14:49:20 -04:00
Use error checking mutex in developer mode on Linux
When developer mode is enabled, use error checking mutex type, so we can discover wrong use of mutexes faster.
This commit is contained in:
parent
01038d894f
commit
2c98ccbdba
3 changed files with 9 additions and 3 deletions
|
|
@ -171,7 +171,7 @@ AC_ARG_ENABLE([developer],
|
|||
|
||||
AS_IF([test "$enable_developer" = "yes"],
|
||||
[DEVELOPER_MODE=yes
|
||||
STD_CPPFLAGS="$STD_CPPFLAGS -DISC_MEM_DEFAULTFILL=1 -DISC_MEM_TRACKLINES=1 -DISC_LIST_CHECKINIT=1 -DISC_STATS_CHECKUNDERFLOW=1 -DDNS_RBTDB_STRONG_RWLOCK_CHECK=1"
|
||||
STD_CPPFLAGS="$STD_CPPFLAGS -DISC_MEM_DEFAULTFILL=1 -DISC_MEM_TRACKLINES=1 -DISC_LIST_CHECKINIT=1 -DISC_STATS_CHECKUNDERFLOW=1 -DDNS_RBTDB_STRONG_RWLOCK_CHECK=1 -DISC_MUTEX_ERROR_CHECK=1"
|
||||
test "${enable_fixed_rrset+set}" = set || enable_fixed_rrset=yes
|
||||
test "${enable_querytrace+set}" = set || enable_querytrace=yes
|
||||
test "${with_cmocka+set}" = set || with_cmocka=yes
|
||||
|
|
|
|||
|
|
@ -23,7 +23,9 @@
|
|||
#include <isc/result.h> /* for ISC_R_ codes */
|
||||
#include <isc/util.h>
|
||||
|
||||
#if defined(PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP)
|
||||
#if ISC_MUTEX_ERROR_CHECK && defined(PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP)
|
||||
#define ISC_MUTEX_INITIALIZER PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP
|
||||
#elif defined(PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP)
|
||||
#define ISC_MUTEX_INITIALIZER PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP
|
||||
#else
|
||||
#define ISC_MUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER
|
||||
|
|
|
|||
|
|
@ -33,7 +33,11 @@ static isc_once_t init_once = ISC_ONCE_INIT;
|
|||
static void
|
||||
mutex_initialize(void) {
|
||||
RUNTIME_CHECK(pthread_mutexattr_init(&isc__mutex_init_attr) == 0);
|
||||
#if defined(PTHREAD_MUTEX_ADAPTIVE_NP)
|
||||
#if ISC_MUTEX_ERROR_CHECK && defined(PTHREAD_MUTEX_ERRORCHECK_NP)
|
||||
RUNTIME_CHECK(pthread_mutexattr_settype(&isc__mutex_init_attr,
|
||||
PTHREAD_MUTEX_ERRORCHECK_NP) ==
|
||||
0);
|
||||
#elif defined(PTHREAD_MUTEX_ADAPTIVE_NP)
|
||||
RUNTIME_CHECK(pthread_mutexattr_settype(&isc__mutex_init_attr,
|
||||
PTHREAD_MUTEX_ADAPTIVE_NP) ==
|
||||
0);
|
||||
|
|
|
|||
Loading…
Reference in a new issue