diff options
author | Joe Mistachkin <joe@mistachkin.com> | 2015-05-27 22:29:25 (GMT) |
---|---|---|
committer | Joe Mistachkin <joe@mistachkin.com> | 2015-05-27 22:29:25 (GMT) |
commit | e8d057ad672b4675495c308059b951afaa3ce020 (patch) | |
tree | e6868c17d98c08a9daa36d1b9a367d9c5de3582c /unix | |
parent | 967856b8f844223b509f90a973121517e7c45c34 (diff) | |
download | tcl-e8d057ad672b4675495c308059b951afaa3ce020.zip tcl-e8d057ad672b4675495c308059b951afaa3ce020.tar.gz tcl-e8d057ad672b4675495c308059b951afaa3ce020.tar.bz2 |
Make sure the master and mutex locks are in a well-known state across the fork() call.
Diffstat (limited to 'unix')
-rw-r--r-- | unix/tclUnixNotfy.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/unix/tclUnixNotfy.c b/unix/tclUnixNotfy.c index 9186f33..2941331 100644 --- a/unix/tclUnixNotfy.c +++ b/unix/tclUnixNotfy.c @@ -1335,6 +1335,8 @@ static void AtForkPrepare(void) { Tcl_MutexLock(¬ifierMutex); + TclpMasterLock(); + TclpMutexLock(); } /* @@ -1356,6 +1358,8 @@ AtForkPrepare(void) static void AtForkParent(void) { + TclpMutexLock(); + TclpMasterLock(); Tcl_MutexUnlock(¬ifierMutex); } @@ -1378,6 +1382,8 @@ AtForkParent(void) static void AtForkChild(void) { + TclpMutexLock(); + TclpMasterLock(); Tcl_MutexUnlockAndFinalize(¬ifierMutex); Tcl_InitNotifier(); } |