This is the mail archive of the glibc-cvs@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]

GNU C Library master sources branch master updated. glibc-2.21-64-g2868e07


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  2868e0703d5b8c8e60c6f60de13e876c4d85daa0 (commit)
      from  ebf27d12e602b428a316c105ed10371ed84d2d3d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=2868e0703d5b8c8e60c6f60de13e876c4d85daa0

commit 2868e0703d5b8c8e60c6f60de13e876c4d85daa0
Author: Andreas Schwab <schwab@suse.de>
Date:   Mon Aug 11 11:18:26 2014 +0200

    Filter out PTHREAD_MUTEX_NO_ELISION_NP bit in pthread_mutexattr_gettype (BZ #15790)
    
    pthread_mutexattr_settype adds PTHREAD_MUTEX_NO_ELISION_NP to kind,
    which is an internal flag that pthread_mutexattr_gettype shouldn't
    expose, since pthread_mutexattr_settype wouldn't accept it.

diff --git a/ChangeLog b/ChangeLog
index bf4ddd0..2941ec1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2015-02-12  Andreas Schwab  <schwab@suse.de>
+
+	[BZ #15790]
+	* nptl/pthread_mutexattr_gettype.c (pthread_mutexattr_gettype):
+	Filter out elision flags from value returned in kind.
+	* nptl/Makefile (tests): Add tst-pthread-mutexattr.
+	* nptl/tst-pthread-mutexattr.c: New file.
+
 2015-02-11  Samuel Thibault  <samuel.thibault@ens-lyon.org>
 
 	* abi-tags: Revert ae20c9a: rename back gnu into gnu-gnu.
diff --git a/NEWS b/NEWS
index 2d4ebb9..2938f6e 100644
--- a/NEWS
+++ b/NEWS
@@ -9,7 +9,7 @@ Version 2.22
 
 * The following bugs are resolved with this release:
 
-  4719, 15467, 17912, 17932, 17944, 17949.
+  4719, 15467, 15790, 17912, 17932, 17944, 17949.
 
 Version 2.21
 
diff --git a/nptl/Makefile b/nptl/Makefile
index 6ae76bb..89fdc8b 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -256,7 +256,7 @@ tests = tst-typesizes \
 	tst-exit1 tst-exit2 tst-exit3 \
 	tst-stdio1 tst-stdio2 \
 	tst-stack1 tst-stack2 tst-stack3 tst-stack4 tst-pthread-getattr \
-	tst-pthread-attr-affinity \
+	tst-pthread-attr-affinity tst-pthread-mutexattr \
 	tst-unload \
 	tst-dlsym1 \
 	tst-sysconf \
diff --git a/nptl/pthread_mutexattr_gettype.c b/nptl/pthread_mutexattr_gettype.c
index 72419bd..0bf2c82 100644
--- a/nptl/pthread_mutexattr_gettype.c
+++ b/nptl/pthread_mutexattr_gettype.c
@@ -28,7 +28,8 @@ pthread_mutexattr_gettype (attr, kind)
 
   iattr = (const struct pthread_mutexattr *) attr;
 
-  *kind = iattr->mutexkind & ~PTHREAD_MUTEXATTR_FLAG_BITS;
+  *kind = (iattr->mutexkind & ~PTHREAD_MUTEXATTR_FLAG_BITS
+	   & ~PTHREAD_MUTEX_NO_ELISION_NP);
 
   return 0;
 }
diff --git a/nptl/tst-pthread-mutexattr.c b/nptl/tst-pthread-mutexattr.c
new file mode 100644
index 0000000..10ebe50
--- /dev/null
+++ b/nptl/tst-pthread-mutexattr.c
@@ -0,0 +1,60 @@
+/* Make sure that pthread_mutexattr_gettype returns a valid kind.
+
+   Copyright (C) 2015 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <stdio.h>
+#include <string.h>
+#include <pthread.h>
+
+static int
+do_test (void)
+{
+  pthread_mutexattr_t attr;
+  int kind;
+  int error;
+
+  error = pthread_mutexattr_init (&attr);
+  if (error)
+    {
+      printf ("pthread_mutexattr_init: %s\n", strerror (error));
+      return 1;
+    }
+  error = pthread_mutexattr_settype (&attr, PTHREAD_MUTEX_DEFAULT);
+  if (error)
+    {
+      printf ("pthread_mutexattr_settype (1): %s\n", strerror (error));
+      return 1;
+    }
+  error = pthread_mutexattr_gettype (&attr, &kind);
+  if (error)
+    {
+      printf ("pthread_mutexattr_gettype: %s\n", strerror (error));
+      return 1;
+    }
+  error = pthread_mutexattr_settype (&attr, kind);
+  if (error)
+    {
+      printf ("pthread_mutexattr_settype (2): %s\n", strerror (error));
+      return 1;
+    }
+  return 0;
+}
+
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                     |    8 +++++
 NEWS                                          |    2 +-
 nptl/Makefile                                 |    2 +-
 nptl/pthread_mutexattr_gettype.c              |    3 +-
 nptl/{tst-spin1.c => tst-pthread-mutexattr.c} |   38 +++++++++++++-----------
 5 files changed, 33 insertions(+), 20 deletions(-)
 copy nptl/{tst-spin1.c => tst-pthread-mutexattr.c} (57%)


hooks/post-receive
-- 
GNU C Library master sources


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