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.15-89-g400aa02


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  400aa020ea599b4319670a1cea7028930aeab588 (commit)
      from  e0a309cf2a59042718fa95f97c5c35da33e61650 (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://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=400aa020ea599b4319670a1cea7028930aeab588

commit 400aa020ea599b4319670a1cea7028930aeab588
Author: Ulrich Drepper <drepper@gmail.com>
Date:   Mon Jan 16 09:03:20 2012 -0500

    Fix locking problem in fmtmsg

diff --git a/ChangeLog b/ChangeLog
index 00faba1..3f06b9a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2012-01-16  Ulrich Drepper  <drepper@gmail.com>
+
+	* stdlib/Makefile (tests): Add bug-fmtmsg1.
+	* stdlib/bug-fmtmsg1.c: New file.
+
+	* stdlib/fmtmsg.c (init): Add missing unlock.
+	Patch by Peng Haitao <penght@cn.fujitsu.com>.
+
 2012-01-12  Marek Polacek  <polacek@redhat.com>
 
 	* libio/bits/stdio2.h: Do not define gets for ISO C11, ISO C++11,
diff --git a/stdlib/Makefile b/stdlib/Makefile
index 04c6ac5..f9bba3a 100644
--- a/stdlib/Makefile
+++ b/stdlib/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1991-2009, 2011 Free Software Foundation, Inc.
+# Copyright (C) 1991-2009, 2011, 2012 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
@@ -71,7 +71,7 @@ tests		:= tst-strtol tst-strtod testmb testrand testsort testdiv   \
 		   tst-atof1 tst-atof2 tst-strtod2 tst-strtod3 tst-rand48-2 \
 		   tst-makecontext tst-strtod4 tst-strtod5 tst-qsort2	    \
 		   tst-makecontext2 tst-strtod6 tst-unsetenv1		    \
-		   tst-makecontext3 bug-getcontext
+		   tst-makecontext3 bug-getcontext bug-fmtmsg1
 
 include ../Makeconfig
 
@@ -121,6 +121,7 @@ tst-strtod3-ENV = LOCPATH=$(common-objpfx)localedata
 tst-strtod4-ENV = LOCPATH=$(common-objpfx)localedata
 tst-strtod5-ENV = LOCPATH=$(common-objpfx)localedata
 testmb2-ENV = LOCPATH=$(common-objpfx)localedata
+bug-fmtmsg1-ENV = SEV_LEVEL=foo,11,newsev
 
 # Run a test on the header files we use.
 tests: $(objpfx)isomac.out
diff --git a/stdlib/bug-fmtmsg1.c b/stdlib/bug-fmtmsg1.c
new file mode 100644
index 0000000..04bfaea
--- /dev/null
+++ b/stdlib/bug-fmtmsg1.c
@@ -0,0 +1,28 @@
+#include <fmtmsg.h>
+#include <stdio.h>
+
+
+static int
+do_test (void)
+{
+  /* Ugly, but fmtmsg would otherwise print to stderr which we do not
+     want.  */
+  fclose (stderr);
+  stderr = stdout;
+
+  int e1;
+  e1 = fmtmsg (MM_PRINT, "label:part", MM_WARNING, "text", "action", "tag");
+
+  int e2;
+  e2 = fmtmsg (MM_PRINT, "label2:part2", 11, "text2", "action2", "tag2");
+
+  addseverity (10, "additional severity");
+
+  int e3;
+  e3 = fmtmsg (MM_PRINT, "label3:part3", 10, "text3", "action3", "tag3");
+
+  return e1 != 0 || e2 != 0 || e3 != 0;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
diff --git a/stdlib/fmtmsg.c b/stdlib/fmtmsg.c
index 8ee06bf..d187bb2 100644
--- a/stdlib/fmtmsg.c
+++ b/stdlib/fmtmsg.c
@@ -1,4 +1,5 @@
-/* Copyright (C) 1997,1999-2003,2005,2006,2011 Free Software Foundation, Inc.
+/* Copyright (C) 1997,1999-2003,2005,2006,2011,2012
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -280,6 +281,8 @@ init (void)
 
 	  sevlevel_var = end + (*end == ':' ? 1 : 0);
 	}
+
+      __libc_lock_unlock (lock);
     }
 }
 

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

Summary of changes:
 ChangeLog            |    8 ++++++++
 stdlib/Makefile      |    5 +++--
 stdlib/bug-fmtmsg1.c |   28 ++++++++++++++++++++++++++++
 stdlib/fmtmsg.c      |    5 ++++-
 4 files changed, 43 insertions(+), 3 deletions(-)
 create mode 100644 stdlib/bug-fmtmsg1.c


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]