summaryrefslogtreecommitdiffstats
path: root/unix
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2013-10-29 08:15:36 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2013-10-29 08:15:36 (GMT)
commit5873d26c7268ee5af9f31c126c64b4350736c458 (patch)
tree54539f7c4d754c72776d5bc2f0ce2c455aafe623 /unix
parent9948d29038eeaaed7e7f3a5d39b22b5462f2c825 (diff)
downloadtcl-5873d26c7268ee5af9f31c126c64b4350736c458.zip
tcl-5873d26c7268ee5af9f31c126c64b4350736c458.tar.gz
tcl-5873d26c7268ee5af9f31c126c64b4350736c458.tar.bz2
Workaround for [414d10346b]: tcl 8.5.15/8.6.1(threaded build) hangs in exec on HP-UX
Diffstat (limited to 'unix')
-rw-r--r--unix/tclUnixNotfy.c6
-rw-r--r--unix/tclUnixTest.c5
2 files changed, 5 insertions, 6 deletions
diff --git a/unix/tclUnixNotfy.c b/unix/tclUnixNotfy.c
index f41ef68..8e59044 100644
--- a/unix/tclUnixNotfy.c
+++ b/unix/tclUnixNotfy.c
@@ -202,7 +202,7 @@ static Tcl_ThreadId notifierThread;
#ifdef TCL_THREADS
static void NotifierThreadProc(ClientData clientData);
-#if defined(HAVE_PTHREAD_ATFORK) && !defined(__APPLE__)
+#if defined(HAVE_PTHREAD_ATFORK) && !defined(__APPLE__) && !defined(__hpux)
static int atForkInit = 0;
static void AtForkPrepare(void);
static void AtForkParent(void);
@@ -282,7 +282,7 @@ Tcl_InitNotifier(void)
*/
Tcl_MutexLock(&notifierMutex);
-#if defined(HAVE_PTHREAD_ATFORK) && !defined(__APPLE__)
+#if defined(HAVE_PTHREAD_ATFORK) && !defined(__APPLE__) && !defined(__hpux)
/*
* Install pthread_atfork handlers to reinitialize the notifier in the
* child of a fork.
@@ -1273,7 +1273,7 @@ NotifierThreadProc(
TclpThreadExit (0);
}
-#if defined(HAVE_PTHREAD_ATFORK) && !defined(__APPLE__)
+#if defined(HAVE_PTHREAD_ATFORK) && !defined(__APPLE__) && !defined(__hpux)
/*
*----------------------------------------------------------------------
*
diff --git a/unix/tclUnixTest.c b/unix/tclUnixTest.c
index bb16f3b..0747c2d 100644
--- a/unix/tclUnixTest.c
+++ b/unix/tclUnixTest.c
@@ -574,12 +574,11 @@ TestforkObjCmd(
"Cannot fork", NULL);
return TCL_ERROR;
}
-#if !defined(HAVE_PTHREAD_ATFORK)
- /* Only needed when pthread_atfork is not present. */
+ /* Only needed when pthread_atfork is not present,
+ * should not hurt otherwise. */
if (pid==0) {
Tcl_InitNotifier();
}
-#endif
Tcl_SetObjResult(interp, Tcl_NewIntObj(pid));
return TCL_OK;
}