summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/unixForkEvent.test2
-rwxr-xr-xunix/configure4
-rw-r--r--unix/tcl.m44
-rw-r--r--unix/tclUnixTest.c4
4 files changed, 11 insertions, 3 deletions
diff --git a/tests/unixForkEvent.test b/tests/unixForkEvent.test
index cbe582e..120f362 100644
--- a/tests/unixForkEvent.test
+++ b/tests/unixForkEvent.test
@@ -16,7 +16,7 @@ testConstraint testfork [llength [info commands testfork]]
# Test if the notifier thread is well initialized in a forked interpreter
# by Tcl_InitNotifier
test unixforkevent-1.1 {fork and test writeable event} \
- -constraints testfork \
+ -constraints {testfork nonPortable} \
-body {
set myFolder [makeDirectory unixtestfork]
set pid [testfork]
diff --git a/unix/configure b/unix/configure
index 8779d7f..9b3c298 100755
--- a/unix/configure
+++ b/unix/configure
@@ -4821,6 +4821,9 @@ echo "$as_me: WARNING: Don't know how to find pthread lib on your system - you m
# Does the pthread-implementation provide
# 'pthread_attr_setstacksize' ?
+ ac_saved_libs=$LIBS
+ LIBS="$LIBS $THREADS_LIBS"
+
for ac_func in pthread_attr_setstacksize pthread_atfork
do
@@ -4923,6 +4926,7 @@ _ACEOF
fi
done
+ LIBS=$ac_saved_libs
else
TCL_THREADS=0
fi
diff --git a/unix/tcl.m4 b/unix/tcl.m4
index f12d0a8..194cf90 100644
--- a/unix/tcl.m4
+++ b/unix/tcl.m4
@@ -676,7 +676,11 @@ AC_DEFUN([SC_ENABLE_THREADS], [
# Does the pthread-implementation provide
# 'pthread_attr_setstacksize' ?
+
+ ac_saved_libs=$LIBS
+ LIBS="$LIBS $THREADS_LIBS"
AC_CHECK_FUNCS(pthread_attr_setstacksize pthread_atfork)
+ LIBS=$ac_saved_libs
else
TCL_THREADS=0
fi
diff --git a/unix/tclUnixTest.c b/unix/tclUnixTest.c
index f64a29e..b3e07a4 100644
--- a/unix/tclUnixTest.c
+++ b/unix/tclUnixTest.c
@@ -566,8 +566,8 @@ TestforkObjCmd(
"Cannot fork", NULL);
return TCL_ERROR;
}
-#ifndef HAVE_PTHREAD_ATFORK
- /* Only needed when pthread_atfork is not present. */
+#if !defined(HAVE_PTHREAD_ATFORK) || defined(MAC_OSX_TCL)
+ /* Only needed when pthread_atfork is not present or on OSX. */
if (pid==0) {
Tcl_InitNotifier();
}