summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorferrieux <ferrieux@users.sourceforge.net>2012-09-07 14:44:46 (GMT)
committerferrieux <ferrieux@users.sourceforge.net>2012-09-07 14:44:46 (GMT)
commitedd591e8fbb5a6def7fbe9ca0d8e3f22c0e9cd56 (patch)
tree4e787db7dedfa13ff9af7db6fd3b0cb62d547a3a
parent96b1a87503f1da17ec4626ba78ef7a04030e98ce (diff)
downloadtcl-edd591e8fbb5a6def7fbe9ca0d8e3f22c0e9cd56.zip
tcl-edd591e8fbb5a6def7fbe9ca0d8e3f22c0e9cd56.tar.gz
tcl-edd591e8fbb5a6def7fbe9ca0d8e3f22c0e9cd56.tar.bz2
Backport of 2008-12-12 8.6 commit: Fix missing CLOEXEC on internal pipes [2417695]
-rw-r--r--ChangeLog5
-rw-r--r--unix/tclUnixNotfy.c6
-rwxr-xr-x[-rw-r--r--]win/buildall.vc.bat0
3 files changed, 11 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 18cdf37..b0fed83 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-09-07 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
+
+ * unix/tclUnixNotfy.c Backport of 2008-12-12 8.6 commit: Fix
+ missing CLOEXEC on internal pipes [2417695]
+
2012-08-25 Donal K. Fellows <dkf@users.sf.net>
* library/msgs/uk.msg: [Bug 3561330]: Use the correct full name of
diff --git a/unix/tclUnixNotfy.c b/unix/tclUnixNotfy.c
index 42cc7be..51f0b1f 100644
--- a/unix/tclUnixNotfy.c
+++ b/unix/tclUnixNotfy.c
@@ -1057,6 +1057,12 @@ NotifierThreadProc(
if (TclUnixSetBlockingMode(fds[1], TCL_MODE_NONBLOCKING) < 0) {
Tcl_Panic("NotifierThreadProc: could not make trigger pipe non blocking");
}
+ if (fcntl(receivePipe, F_SETFD, FD_CLOEXEC) < 0) {
+ Tcl_Panic("NotifierThreadProc: could not make receive pipe close-on-exec");
+ }
+ if (fcntl(fds[1], F_SETFD, FD_CLOEXEC) < 0) {
+ Tcl_Panic("NotifierThreadProc: could not make trigger pipe close-on-exec");
+ }
/*
* Install the write end of the pipe into the global variable.
diff --git a/win/buildall.vc.bat b/win/buildall.vc.bat
index 0c9b3ac..0c9b3ac 100644..100755
--- a/win/buildall.vc.bat
+++ b/win/buildall.vc.bat