summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin')
-rw-r--r--winsup/cygwin/ChangeLog7
-rw-r--r--winsup/cygwin/init.cc6
-rw-r--r--winsup/cygwin/pinfo.cc1
3 files changed, 8 insertions, 6 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index aa8f6a258..31413a86b 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,10 @@
+2005-01-13 Christopher Faylor <cgf@timesys.com>
+
+ * init.cc (dll_entry): Nuke attempt to set exit code since parent will
+ use windows exit code if needed.
+ * pinfo.cc (pinfo::exit): Move release() here to minimize pid creation
+ race (suggested by Pierre Humblet).
+
2005-01-12 Christopher Faylor <cgf@timesys.com>
Reorganize header file inclusion throughout so that cygerrno.h comes
diff --git a/winsup/cygwin/init.cc b/winsup/cygwin/init.cc
index ad4761820..66fb5d50e 100644
--- a/winsup/cygwin/init.cc
+++ b/winsup/cygwin/init.cc
@@ -128,12 +128,6 @@ dll_entry (HANDLE h, DWORD reason, void *static_load)
dll_crt0_0 ();
break;
case DLL_PROCESS_DETACH:
- if (myself)
- {
- if (!hExeced && myself->exitcode == EXITCODE_UNSET)
- myself->exitcode = 1 << 8;
- myself.release ();
- }
break;
case DLL_THREAD_ATTACH:
munge_threadfunc ();
diff --git a/winsup/cygwin/pinfo.cc b/winsup/cygwin/pinfo.cc
index 84a66ed53..37821262d 100644
--- a/winsup/cygwin/pinfo.cc
+++ b/winsup/cygwin/pinfo.cc
@@ -140,6 +140,7 @@ pinfo::exit (DWORD n)
set_exit_state (PID_EXITED);
if (n != EXITCODE_EXEC)
self->alert_parent (0);
+ release ();
_my_tls.stacklock = 0;
_my_tls.stackptr = _my_tls.stack;