diff options
author | Eric Andersen <andersen@codepoet.org> | 2006-12-07 23:24:02 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2006-12-07 23:24:02 +0000 |
commit | 1478c2de052374c6356db5513749a144c13791b1 (patch) | |
tree | 3b22a3f8361f94c99508c497e240ecb71acf8641 /libc/misc/dirent/readdir64.c | |
parent | 99d6c367c4820a072dc4ada51561df17e2093778 (diff) |
Major cleanup of internal mutex locking. Be more consistant in how we do
things, and avoid potential deadlocks caused when a thread holding a uClibc
internal lock get canceled and terminates without releasing the lock. This
change also provides a single place, bits/uClibc_mutex.h, for thread libraries
to modify to change all instances of internal locking.
Diffstat (limited to 'libc/misc/dirent/readdir64.c')
-rw-r--r-- | libc/misc/dirent/readdir64.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libc/misc/dirent/readdir64.c b/libc/misc/dirent/readdir64.c index 5386ee17e..36dc35379 100644 --- a/libc/misc/dirent/readdir64.c +++ b/libc/misc/dirent/readdir64.c @@ -25,7 +25,7 @@ struct dirent64 *readdir64(DIR * dir) return NULL; } - __pthread_mutex_lock(&(dir->dd_lock)); + __UCLIBC_MUTEX_LOCK(dir->dd_lock); do { if (dir->dd_size <= dir->dd_nextloc) { @@ -51,7 +51,7 @@ struct dirent64 *readdir64(DIR * dir) } while (de->d_ino == 0); all_done: - __pthread_mutex_unlock(&(dir->dd_lock)); + __UCLIBC_MUTEX_UNLOCK(dir->dd_lock); return de; } |