My recursive mutex vs pthread_mutex_t (type: recursive) (repost, push)
问题 I was wondering if I could make a recursive mutex type on my own with a PTHREAD_MUTEX_ERRORCHECK mutex, this is the result: typedef struct { pthread_mutex_t mutex; uint32_t deadlocks; } pthread_recursivemutex_t; int pthread_recursivemutex_init(pthread_recursivemutex_t *mutex) { int ret; pthread_mutexattr_t attr; mutex->deadlocks = 0; ret = pthread_mutexattr_init(&attr); if (ret != 0) { return ret; } (void)pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK); ret = pthread_mutex_init(