libc: add sanity checks to pthread_mutex_destroy()

Change-Id: Iddb2204fa792fa9aca5f19838926dddbb09b74a2
This commit is contained in:
David 'Digit' Turner 2010-06-28 14:20:22 -07:00
parent 0621a279ad
commit a02b93bd75
2 changed files with 10 additions and 3 deletions

View File

@ -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;

View File

@ -3,7 +3,9 @@ Bionic ChangeLog:
Differences between current and Android 2.2:
- <pthread.h>: Add reader/writer locks implementation.
- <pthread.h>: Add reader/writer locks implementation. Add sanity
checking to pthread_mutex_destroy() (e.g. a locked mutex will return
EBUSY).
- <semaphore.h>: Use private futexes for semaphore implementation,
unless your set 'pshared' to non-0 when calling sem_init().