mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
* sysdeps/unix/sysv/linux/not-cancel.h (__openat_not_cancel,
__openat64_not_cancel): Remove prototypes. (__openat_nocancel, __openat64_nocancel): New prototypes or defines. (openat_not_cancel, openat_not_cancel_3, openat64_not_cancel, openat64_not_cancel_3): Use them.
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
|
||||
|
||||
@ -26,9 +26,17 @@ __pthread_mutex_destroy (mutex)
|
||||
pthread_mutex_t *mutex;
|
||||
{
|
||||
if (mutex->__data.__nusers != 0)
|
||||
return EBUSY;
|
||||
{
|
||||
if ((mutex->__data.__kind & PTHREAD_MUTEX_ROBUST_PRIVATE_NP) != 0
|
||||
&& (mutex->__data.__lock & FUTEX_OWNER_DIED) != 0
|
||||
&& mutex->__data.__nusers == 1)
|
||||
goto dead_robust_mutex;
|
||||
|
||||
return EBUSY;
|
||||
}
|
||||
|
||||
/* Set to an invalid value. */
|
||||
dead_robust_mutex:
|
||||
mutex->__data.__kind = -1;
|
||||
|
||||
return 0;
|
||||
|
Reference in New Issue
Block a user