diff options
author | dgp <dgp@users.sourceforge.net> | 2015-07-17 21:22:22 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2015-07-17 21:22:22 (GMT) |
commit | 5234a59846f046760830b06488e2d214d0b2cf04 (patch) | |
tree | eb303b04e47fe05468dc5620171a0ee2c8453095 /unix/tclUnixNotfy.c | |
parent | 2fc3c8d6596a5d180b7f2c13451e8ec26144cb2b (diff) | |
parent | ad86656b196a9b34f2df43327c816d8099d7f3c8 (diff) | |
download | tcl-5234a59846f046760830b06488e2d214d0b2cf04.zip tcl-5234a59846f046760830b06488e2d214d0b2cf04.tar.gz tcl-5234a59846f046760830b06488e2d214d0b2cf04.tar.bz2 |
merge trunk
Diffstat (limited to 'unix/tclUnixNotfy.c')
-rw-r--r-- | unix/tclUnixNotfy.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/unix/tclUnixNotfy.c b/unix/tclUnixNotfy.c index c6c9759..b2bea45 100644 --- a/unix/tclUnixNotfy.c +++ b/unix/tclUnixNotfy.c @@ -194,7 +194,7 @@ static Tcl_ThreadId notifierThread; #ifdef TCL_THREADS static void NotifierThreadProc(ClientData clientData); -#ifdef HAVE_PTHREAD_ATFORK +#if defined(HAVE_PTHREAD_ATFORK) && !defined(__APPLE__) && !defined(__hpux) static int atForkInit = 0; static void AtForkPrepare(void); static void AtForkParent(void); @@ -290,7 +290,7 @@ Tcl_InitNotifier(void) */ Tcl_MutexLock(¬ifierMutex); -#ifdef HAVE_PTHREAD_ATFORK +#if defined(HAVE_PTHREAD_ATFORK) && !defined(__APPLE__) && !defined(__hpux) /* * Install pthread_atfork handlers to reinitialize the notifier in the * child of a fork. @@ -304,13 +304,14 @@ Tcl_InitNotifier(void) } atForkInit = 1; } -#endif +#endif /* HAVE_PTHREAD_ATFORK */ /* * Check if my process id changed, e.g. I was forked * In this case, restart the notifier thread and close the * pipe to the original notifier thread */ if (notifierCount > 0 && processIDInitialized != getpid()) { + Tcl_ConditionFinalize(¬ifierCV); notifierCount = 0; processIDInitialized = 0; close(triggerPipe); @@ -1313,7 +1314,7 @@ NotifierThreadProc( TclpThreadExit(0); } -#ifdef HAVE_PTHREAD_ATFORK +#if defined(HAVE_PTHREAD_ATFORK) && !defined(__APPLE__) && !defined(__hpux) /* *---------------------------------------------------------------------- * @@ -1375,8 +1376,7 @@ AtForkParent(void) static void AtForkChild(void) { - notifierMutex = NULL; - notifierCV = NULL; + Tcl_MutexFinalize(¬ifierMutex); Tcl_InitNotifier(); } #endif /* HAVE_PTHREAD_ATFORK */ |