changeset 11807:0d28b7568243

Disable multithread support by default on Cygwin 1.5.x.
author Bruno Haible <bruno@clisp.org>
date Wed, 12 Aug 2009 16:25:16 +0200
parents 6f25212efacd
children 208b63596fa6
files ChangeLog m4/threadlib.m4
diffstat 2 files changed, 16 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2009-08-12  Bruno Haible  <bruno@clisp.org>
+
+	Disable multithread support by default on Cygwin 1.5.x.
+	* m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
+	set gl_use_threads=no if not specified otherwise.
+
 2009-08-11  Bruno Haible  <bruno@clisp.org>
 
 	Avoid compilation error on NetBSD 5.0.
--- a/m4/threadlib.m4
+++ b/m4/threadlib.m4
@@ -1,4 +1,4 @@
-# threadlib.m4 serial 3 (gettext-0.18)
+# threadlib.m4 serial 4 (gettext-0.18)
 dnl Copyright (C) 2005-2009 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -56,7 +56,16 @@
          dnl Disable multithreading by default on OSF/1, because it interferes
          dnl with fork()/exec(): When msgexec is linked with -lpthread, its
          dnl child process gets an endless segmentation fault inside execvp().
+         dnl Disable multithreading by default on Cygwin 1.5.x, because it has
+         dnl bugs that lead to endless loops or crashes. See
+         dnl <http://cygwin.com/ml/cygwin/2009-08/msg00283.html>.
          osf*) gl_use_threads=no ;;
+         cygwin*)
+               case `uname -r` in
+                 1.[0-5].*) gl_use_threads=no ;;
+                 *)         gl_use_threads=yes ;;
+               esac
+               ;;
          *)    gl_use_threads=yes ;;
        esac
      fi