From fa35a1ee5c602b765ca8a2886b2062971f871c47 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Mon, 3 Oct 2005 17:23:54 +0000 Subject: * cygheap.h (class process_lock): New class. * dtable.h (class dtable): Add class process_lock as a friend. * dcrt0.cc (get_exit_lock): Delete. (do_exit): Use process_lock class instead of get_exit_lock. * exceptions.cc (signal_exit): Ditto. * pinfo.cc (pinfo::exit): Ditto. (_pinfo::commune_process): Set process lock around this whole function. (_pinfo::commune_request): Use process_lock rather than myself.lock. * pinfo.h (pinfo::_lock): Delete. (pinfo::initialize_lock): Delete. (pinfo::lock): Delete. (pinfo::unlock): Delete. * winsup.h (get_exit_lock): Delete declaration. --- winsup/cygwin/exceptions.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'winsup/cygwin/exceptions.cc') diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc index 93a3e8067..b1315239d 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc @@ -26,6 +26,10 @@ details. */ #include "shared_info.h" #include "perprocess.h" #include "security.h" +#include "path.h" +#include "fhandler.h" +#include "dtable.h" +#include "cygheap.h" #define CALL_HANDLER_RETRY 20 @@ -1179,7 +1183,7 @@ signal_exit (int rc) TerminateProcess (hExeced, sigExeced = rc); } - get_exit_lock (); + process_lock until_exit (true); if (hExeced || exit_state) myself.exit (rc); -- cgit v1.2.3