]> Savannah Git Hosting - gnulib.git/commitdiff
regex: don't be multithreaded if USE_UNLOCKED_IO.
authorPaul Eggert <eggert@cs.ucla.edu>
Fri, 13 Jun 2014 15:30:48 +0000 (08:30 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Fri, 13 Jun 2014 15:32:28 +0000 (08:32 -0700)
Problem reported by Michael Felt in: http://bugs.gnu.org/17773
* lib/regex_internal.h: Do not use multithreaded version if
USE_UNLOCKED_IO is defined.  This is a hack, but it works
around a porting bug with coreutils 8.22 on AIX 7.1.

ChangeLog
lib/regex_internal.h

index 4535bb5291250babd6aba3915cb098bb07b05d28..cd1989714f53396d31562da13df6e04e8cf8f17c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2014-06-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       regex: don't be multithreaded if USE_UNLOCKED_IO.
+       Problem reported by Michael Felt in: http://bugs.gnu.org/17773
+       * lib/regex_internal.h: Do not use multithreaded version if
+       USE_UNLOCKED_IO is defined.  This is a hack, but it works
+       around a porting bug with coreutils 8.22 on AIX 7.1.
+
 2014-06-11  Daiki Ueno  <ueno@gnu.org>
 
        gettext: update macros to version 0.19
index a0eae33e9a5727aa86d17b673345f2b5bcfc4d77..bfce99f3121ba1a8df31911287fa1ceb11fe06dc 100644 (file)
@@ -40,7 +40,7 @@
 # define lock_fini(lock) 0
 # define lock_lock(lock) __libc_lock_lock (lock)
 # define lock_unlock(lock) __libc_lock_unlock (lock)
-#elif defined GNULIB_LOCK
+#elif defined GNULIB_LOCK && !defined USE_UNLOCKED_IO
 # include "glthread/lock.h"
   /* Use gl_lock_define if empty macro arguments are known to work.
      Otherwise, fall back on less-portable substitutes.  */
@@ -62,7 +62,7 @@
 # define lock_fini(lock) glthread_lock_destroy (&(lock))
 # define lock_lock(lock) glthread_lock_lock (&(lock))
 # define lock_unlock(lock) glthread_lock_unlock (&(lock))
-#elif defined GNULIB_PTHREAD
+#elif defined GNULIB_PTHREAD && !defined USE_UNLOCKED_IO
 # include <pthread.h>
 # define lock_define(name) pthread_mutex_t name;
 # define lock_init(lock) pthread_mutex_init (&(lock), 0)