diff options
Diffstat (limited to 'libc/bionic/pthread.c')
| -rw-r--r-- | libc/bionic/pthread.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/libc/bionic/pthread.c b/libc/bionic/pthread.c index 061cce1..e21a1f9 100644 --- a/libc/bionic/pthread.c +++ b/libc/bionic/pthread.c @@ -880,8 +880,13 @@ int pthread_mutex_init(pthread_mutex_t *mutex, int pthread_mutex_destroy(pthread_mutex_t *mutex) { - if (__unlikely(mutex == NULL)) - return EINVAL; + int ret; + + /* use trylock to ensure that the mutex value is + * valid and is not already locked. */ + ret = pthread_mutex_trylock(mutex); + if (ret != 0) + return ret; mutex->value = 0xdead10cc; return 0; |
