summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2011-11-17 22:08:14 +0000
committerCorinna Vinschen <corinna@vinschen.de>2011-11-17 22:08:14 +0000
commit4cc465db9aff266f1a0c20ae6ef4fcf0187480ea (patch)
tree1c073ea09a469f7608c4e700db54414ff8f36ea7
parent7b2740dda35981d44331c77354b6d9c3d05b1338 (diff)
downloadcygnal-4cc465db9aff266f1a0c20ae6ef4fcf0187480ea.tar.gz
cygnal-4cc465db9aff266f1a0c20ae6ef4fcf0187480ea.tar.bz2
cygnal-4cc465db9aff266f1a0c20ae6ef4fcf0187480ea.zip
* shared.cc (shared_info::create): Open global shared data section
non-inheritable to avoid accumulating stray handles in child processes.
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/shared.cc3
2 files changed, 7 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 89a485b30..575282657 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+2011-11-17 Corinna Vinschen <corinna@vinschen.de>
+
+ * shared.cc (shared_info::create): Open global shared data section
+ non-inheritable to avoid accumulating stray handles in child processes.
+
2011-11-15 Christopher Faylor <me.cygwin2011@cgf.cx>
* child_info.h (CURR_CHILD_INFO_MAGIC): Reset.
diff --git a/winsup/cygwin/shared.cc b/winsup/cygwin/shared.cc
index b98c13651..70356b7e5 100644
--- a/winsup/cygwin/shared.cc
+++ b/winsup/cygwin/shared.cc
@@ -398,7 +398,8 @@ shared_info::create ()
CYGWIN_VERSION_SHARED_DATA,
cygwin_shared_h,
sizeof (*cygwin_shared),
- SH_CYGWIN_SHARED);
+ SH_CYGWIN_SHARED,
+ &sec_all_nih);
cygwin_shared->initialize ();
}