From: Ulrich Drepper Date: Fri, 23 Dec 2005 23:49:41 +0000 (+0000) Subject: * pthread_mutex_destroy.c: Set mutex type to an invalid value. X-Git-Tag: cvs/fedora-glibc-20051227T1426~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=dcc73a8ddac3311936c9737f8ebbf2f448bc1f8f;p=platform%2Fupstream%2Fglibc.git * 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. --- diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 9a171ef..74cf9a9 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,11 @@ +2005-12-23 Ulrich Drepper + + * 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 * 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 91ccfb0..2bf76a9 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 , 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 ee39f20..a2d0afb 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 , 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 1cd2c7e..06bdf9d 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 , 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 7008af3..a50b917 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 , 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 32bc2a4..5f097a5 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 , 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. */