Issue #2763 has been updated by swildner.
Correct me if I'm wrong, but it looks as with this patch, pthread_mutex_destroy()ing a mutex twice would no longer result in EINVAL. Do we want that? ---------------------------------------- Bug #2763: pthread_mutex_destroy fails with error EINVAL(22) when run from main thread http://bugs.dragonflybsd.org/issues/2763#change-12397 * Author: mneumann * Status: New * Priority: Normal * Assignee: * Category: * Target version: ---------------------------------------- The following program when compiled with -pthread on DragonFly fails with assertion 22, while it works on Linux: #include <assert.h> #include <pthread.h> int main() { pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER; assert(pthread_mutex_destroy(&lock) == 0); // returns EINVAL (22) } While when it goes through a lock/unlock cycle or pthread_mutex_init() is called before, the pthread_mutex_destroy() does not fail with EINVAL: int main() { pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER; pthread_mutex_init(&lock, NULL); assert(pthread_mutex_destroy(&lock) == 0); // OK } I propose the attached patch to return success if pthread_mutex_destroy() is called for the PTHREAD_MUTEX_INITIALIZER case. ---Files-------------------------------- diff-thread.txt (493 Bytes) -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://bugs.dragonflybsd.org/my/account