void Mutex::ADAPTIVE_INITIALIZER(void* arg) { // From mysql source: mysys/my_thr_init.c // Set mutex type to "fast" a.k.a "adaptive" // // In this case the thread may steal the mutex from some other thread // that is waiting for the same mutex. This will save us some // context switches but may cause a thread to 'starve forever' while // waiting for the mutex (not likely if the code within the mutex is // short). init_with_kind((pthread_mutex_t*)arg, PTHREAD_MUTEX_ADAPTIVE_NP); }
void Mutex::RECURSIVE_INITIALIZER(void* arg) { init_with_kind((pthread_mutex_t*)arg, PTHREAD_MUTEX_RECURSIVE_NP); }