diff options
-rw-r--r-- | nptl/ChangeLog | 8 | ||||
-rw-r--r-- | nptl/pthread_mutex_destroy.c | 5 | ||||
-rw-r--r-- | nptl/pthread_mutex_lock.c | 8 | ||||
-rw-r--r-- | nptl/pthread_mutex_timedlock.c | 8 | ||||
-rw-r--r-- | nptl/pthread_mutex_trylock.c | 8 | ||||
-rw-r--r-- | nptl/pthread_mutex_unlock.c | 8 |
6 files changed, 32 insertions, 13 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 9a171ef204..74cf9a9c57 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,11 @@ +2005-12-23 Ulrich Drepper <drepper@redhat.com> + + * pthread_mutex_destroy.c: Set mutex type to an invalid value. + * pthread_mutex_lock.c: Return EINVAL for invalid mutex type. + * pthread_mutex_trylock.c: Likewise. + * pthread_mutex_timedlock.c: Likewise. + * pthread_mutex_unlock.c: Likewise. + 2005-12-22 Roland McGrath <roland@redhat.com> * sysdeps/pthread/sigaction.c: Use "" instead of <> to include self, diff --git a/nptl/pthread_mutex_destroy.c b/nptl/pthread_mutex_destroy.c index 91ccfb0d29..2bf76a9da3 100644 --- a/nptl/pthread_mutex_destroy.c +++ b/nptl/pthread_mutex_destroy.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2002, 2003 Free Software Foundation, Inc. +/* Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. @@ -28,6 +28,9 @@ __pthread_mutex_destroy (mutex) if (mutex->__data.__nusers != 0) return EBUSY; + /* Set to an invalid value. */ + mutex->__data.__kind = -1; + return 0; } strong_alias (__pthread_mutex_destroy, pthread_mutex_destroy) diff --git a/nptl/pthread_mutex_lock.c b/nptl/pthread_mutex_lock.c index ee39f20820..a2d0afbe15 100644 --- a/nptl/pthread_mutex_lock.c +++ b/nptl/pthread_mutex_lock.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. +/* Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. @@ -68,8 +68,6 @@ __pthread_mutex_lock (mutex) /* FALLTHROUGH */ - default: - /* Correct code cannot set any other type. */ case PTHREAD_MUTEX_TIMED_NP: simple: /* Normal mutex. */ @@ -102,6 +100,10 @@ __pthread_mutex_lock (mutex) mutex->__data.__spins += (cnt - mutex->__data.__spins) / 8; } break; + + default: + /* Correct code cannot set any other type. */ + return EINVAL; } /* Record the ownership. */ diff --git a/nptl/pthread_mutex_timedlock.c b/nptl/pthread_mutex_timedlock.c index 1cd2c7e606..06bdf9d1cc 100644 --- a/nptl/pthread_mutex_timedlock.c +++ b/nptl/pthread_mutex_timedlock.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. +/* Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. @@ -70,8 +70,6 @@ pthread_mutex_timedlock (mutex, abstime) /* FALLTHROUGH */ - default: - /* Correct code cannot set any other type. */ case PTHREAD_MUTEX_TIMED_NP: simple: /* Normal mutex. */ @@ -104,6 +102,10 @@ pthread_mutex_timedlock (mutex, abstime) mutex->__data.__spins += (cnt - mutex->__data.__spins) / 8; } break; + + default: + /* Correct code cannot set any other type. */ + return EINVAL; } if (result == 0) diff --git a/nptl/pthread_mutex_trylock.c b/nptl/pthread_mutex_trylock.c index 7008af3d97..a50b9173ac 100644 --- a/nptl/pthread_mutex_trylock.c +++ b/nptl/pthread_mutex_trylock.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2002, 2003 Free Software Foundation, Inc. +/* Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. @@ -57,8 +57,6 @@ __pthread_mutex_trylock (mutex) case PTHREAD_MUTEX_ERRORCHECK_NP: /* Error checking mutex. We do not check for deadlocks. */ - default: - /* Correct code cannot set any other type. */ case PTHREAD_MUTEX_TIMED_NP: case PTHREAD_MUTEX_ADAPTIVE_NP: /* Normal mutex. */ @@ -70,6 +68,10 @@ __pthread_mutex_trylock (mutex) return 0; } + + default: + /* Correct code cannot set any other type. */ + return EINVAL; } return EBUSY; diff --git a/nptl/pthread_mutex_unlock.c b/nptl/pthread_mutex_unlock.c index 32bc2a4bc1..5f097a596d 100644 --- a/nptl/pthread_mutex_unlock.c +++ b/nptl/pthread_mutex_unlock.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2002, 2003 Free Software Foundation, Inc. +/* Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. @@ -47,12 +47,14 @@ __pthread_mutex_unlock_usercnt (mutex, decr) return EPERM; break; - default: - /* Correct code cannot set any other type. */ case PTHREAD_MUTEX_TIMED_NP: case PTHREAD_MUTEX_ADAPTIVE_NP: /* Normal mutex. Nothing special to do. */ break; + + default: + /* Correct code cannot set any other type. */ + return EINVAL; } /* Always reset the owner field. */ |