This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Pass mutex member to pthread_mutex_unlock in __libc_lock_unlock_recursive
- From: Siddhesh Poyarekar <siddhesh at redhat dot com>
- To: Andreas Schwab <schwab at suse dot de>
- Cc: libc-alpha at sourceware dot org
- Date: Fri, 27 Sep 2013 08:04:01 +0530
- Subject: Re: [PATCH] Pass mutex member to pthread_mutex_unlock in __libc_lock_unlock_recursive
- Authentication-results: sourceware.org; auth=none
- References: <20130926114605 dot GA6144 at spoyarek dot pnq dot redhat dot com> <mvmpprvzsys dot fsf at hawking dot suse dot de> <20130926122255 dot GC6144 at spoyarek dot pnq dot redhat dot com> <mvmk3i3zn67 dot fsf at hawking dot suse dot de>
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