This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Pass mutex member to pthread_mutex_unlock in __libc_lock_unlock_recursive


On Thu, Sep 26, 2013 at 04:13:04PM +0200, Andreas Schwab wrote:
> Siddhesh Poyarekar <siddhesh@redhat.com> writes:
> 
> > 	* nptl/sysdeps/pthread/bits/libc-lock.h [_LIBC &&
> > 	(!NOT_IN_libc || IS_IN_libpthread)]
> > 	(__libc_lock_fini_recursive): Pass member mutex to
> > 	__pthread_mutex_unlock.
> 
> It's calling __pthread_mutex_destroy, not __pthread_mutex_unlock.  Just
> say "Use the mutex member of the argument".

Thanks, this is what I have committed.

Siddhesh

commit c8886d0abff2b2b16870751fc2101d4f3744a406
Author: Siddhesh Poyarekar <siddhesh@redhat.com>
Date:   Fri Sep 27 07:59:26 2013 +0530

    Use the mutex member of the argumen in __libc_lock_*_recursive

diff --git a/ChangeLog b/ChangeLog
index 19152d6..167131b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2013-09-27  Siddhesh Poyarekar  <siddhesh@redhat.com>
+
+	* nptl/sysdeps/pthread/bits/libc-lock.h [_LIBC &&
+	(!NOT_IN_libc || IS_IN_libpthread)]
+	(__libc_lock_fini_recursive): Use the mutex member of the
+	argument.
+	(__libc_lock_trylock_recursive): Likewise.
+	(__libc_lock_unlock_recursive): Likewise.
+
 2013-09-27  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
 
 	* sysdeps/sh/stackguard-macros.h: New file.
diff --git a/nptl/sysdeps/pthread/bits/libc-lock.h b/nptl/sysdeps/pthread/bits/libc-lock.h
index b46bca9..0b95ab7 100644
--- a/nptl/sysdeps/pthread/bits/libc-lock.h
+++ b/nptl/sysdeps/pthread/bits/libc-lock.h
@@ -87,7 +87,7 @@ typedef struct __libc_lock_recursive_opaque__ __libc_lock_recursive_t;
 # define __libc_lock_fini_recursive(NAME) ((void) 0)
 #else
 # define __libc_lock_fini_recursive(NAME) \
-  __libc_maybe_call (__pthread_mutex_destroy, (&(NAME)), 0)
+  __libc_maybe_call (__pthread_mutex_destroy, (&(NAME).mutex), 0)
 #endif
 
 /* Lock the recursive named lock variable.  */
@@ -129,7 +129,7 @@ typedef struct __libc_lock_recursive_opaque__ __libc_lock_recursive_t;
   })
 #else
 # define __libc_lock_trylock_recursive(NAME) \
-  __libc_maybe_call (__pthread_mutex_trylock, (&(NAME)), 0)
+  __libc_maybe_call (__pthread_mutex_trylock, (&(NAME).mutex), 0)
 #endif
 
 /* Unlock the recursive named lock variable.  */
@@ -145,7 +145,7 @@ typedef struct __libc_lock_recursive_opaque__ __libc_lock_recursive_t;
   } while (0)
 #else
 # define __libc_lock_unlock_recursive(NAME) \
-  __libc_maybe_call (__pthread_mutex_unlock, (&(NAME)), 0)
+  __libc_maybe_call (__pthread_mutex_unlock, (&(NAME).mutex), 0)
 #endif
 
 /* Note that for I/O cleanup handling we are using the old-style


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]