Don't use Posix semaphores on Solaris 8. Fixes #662787.

This commit is contained in:
Martin v. Löwis 2003-01-21 10:14:41 +00:00
parent 2da75faa87
commit dfc33fd8db
4 changed files with 20 additions and 2 deletions

View File

@ -104,7 +104,7 @@
/* Whether or not to use semaphores directly rather than emulating them with /* Whether or not to use semaphores directly rather than emulating them with
* mutexes and condition variables: * mutexes and condition variables:
*/ */
#ifdef _POSIX_SEMAPHORES #if defined(_POSIX_SEMAPHORES) && !defined(HAVE_BROKEN_POSIX_SEMAPHORES)
# define USE_SEMAPHORES # define USE_SEMAPHORES
#else #else
# undef USE_SEMAPHORES # undef USE_SEMAPHORES

11
configure vendored
View File

@ -1,5 +1,5 @@
#! /bin/sh #! /bin/sh
# From configure.in Revision: 1.385 . # From configure.in Revision: 1.386 .
# Guess values for system-dependent variables and create Makefiles. # Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.53 for python 2.3. # Generated by GNU Autoconf 2.53 for python 2.3.
# #
@ -11132,6 +11132,15 @@ _ACEOF
fi fi
# Bug 662787: Using semaphores causes unexplicable hangs on Solaris 8.
case $ac_sys_system/$ac_sys_release in
SunOS/5.8)
cat >>confdefs.h <<\_ACEOF
#define HAVE_BROKEN_POSIX_SEMAPHORES 1
_ACEOF
;;
esac
echo "$as_me:$LINENO: checking if PTHREAD_SCOPE_SYSTEM is supported" >&5 echo "$as_me:$LINENO: checking if PTHREAD_SCOPE_SYSTEM is supported" >&5
echo $ECHO_N "checking if PTHREAD_SCOPE_SYSTEM is supported... $ECHO_C" >&6 echo $ECHO_N "checking if PTHREAD_SCOPE_SYSTEM is supported... $ECHO_C" >&6
if test "${ac_cv_pthread_system_supported+set}" = set; then if test "${ac_cv_pthread_system_supported+set}" = set; then

View File

@ -1447,6 +1447,12 @@ pthread_create (NULL, NULL, start_routine, NULL)], [
and your system does not define that.]) and your system does not define that.])
fi fi
# Bug 662787: Using semaphores causes unexplicable hangs on Solaris 8.
case $ac_sys_system/$ac_sys_release in
SunOS/5.8) AC_DEFINE(HAVE_BROKEN_POSIX_SEMAPHORES, 1,
Define if the Posix semaphores do not work on your system);;
esac
AC_MSG_CHECKING(if PTHREAD_SCOPE_SYSTEM is supported) AC_MSG_CHECKING(if PTHREAD_SCOPE_SYSTEM is supported)
AC_CACHE_VAL(ac_cv_pthread_system_supported, AC_CACHE_VAL(ac_cv_pthread_system_supported,
[AC_TRY_RUN([#include <pthread.h> [AC_TRY_RUN([#include <pthread.h>

View File

@ -44,6 +44,9 @@
/* Define if nice() returns success/failure instead of the new priority. */ /* Define if nice() returns success/failure instead of the new priority. */
#undef HAVE_BROKEN_NICE #undef HAVE_BROKEN_NICE
/* Define if the Posix semaphores do not work on your system */
#undef HAVE_BROKEN_POSIX_SEMAPHORES
/* Define to 1 if you have the `chown' function. */ /* Define to 1 if you have the `chown' function. */
#undef HAVE_CHOWN #undef HAVE_CHOWN