From 71bc6d6f0a3521ab154d247c7cfe368918b0475b Mon Sep 17 00:00:00 2001
From: "jan.nijtmans" <nijtmans@users.sourceforge.net>
Date: Tue, 29 Oct 2013 08:15:36 +0000
Subject: Workaround for [414d10346b]: tcl 8.5.15/8.6.1(threaded build) hangs
 in exec on HP-UX

---
 unix/tclUnixNotfy.c | 6 +++---
 unix/tclUnixTest.c  | 5 ++---
 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;
 }
-- 
cgit v0.12