* exceptions.cc (_cygtls::signal_exit): Only call myself.exit when when
exit_state indicates that we've visited do_exit. * sync.h (lock_process::lock_process): Use renamed exit_state - ES_PROCESS_LOCKED. * winsup.h: Rename ES_MUTO_SET to ES_PROCESS_LOCKED.
This commit is contained in:
parent
fe32d85c52
commit
d0cf179299
|
@ -1,3 +1,11 @@
|
|||
2007-02-20 Christopher Faylor <me@cgf.cx>
|
||||
|
||||
* exceptions.cc (_cygtls::signal_exit): Only call myself.exit when when
|
||||
exit_state indicates that we've visited do_exit.
|
||||
* sync.h (lock_process::lock_process): Use renamed exit_state -
|
||||
ES_PROCESS_LOCKED.
|
||||
* winsup.h: Rename ES_MUTO_SET to ES_PROCESS_LOCKED.
|
||||
|
||||
2007-02-20 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* fhandler_socket.cc (fhandler_socket::bind): Remove printing wrong
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/* exceptions.cc
|
||||
|
||||
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
|
||||
2005, 2006 Red Hat, Inc.
|
||||
2005, 2006, 2007 Red Hat, Inc.
|
||||
|
||||
This file is part of Cygwin.
|
||||
|
||||
|
@ -1288,7 +1288,7 @@ _cygtls::signal_exit (int rc)
|
|||
stackdump (thread_context.ebp, 1, 1);
|
||||
|
||||
lock_process until_exit (true);
|
||||
if (hExeced || exit_state)
|
||||
if (hExeced || exit_state > ES_PROCESS_LOCKED)
|
||||
myself.exit (rc);
|
||||
|
||||
/* Starve other threads in a vain attempt to stop them from doing something
|
||||
|
|
|
@ -55,9 +55,9 @@ public:
|
|||
{
|
||||
locker.acquire ();
|
||||
skip_unlock = exiting;
|
||||
if (exiting && exit_state < ES_SET_MUTO)
|
||||
if (exiting && exit_state < ES_PROCESS_LOCKED)
|
||||
{
|
||||
exit_state = ES_SET_MUTO;
|
||||
exit_state = ES_PROCESS_LOCKED;
|
||||
muto::set_exiting_thread ();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -185,7 +185,7 @@ extern "C" int dll_noncygwin_dllcrt0 (HMODULE, per_process *);
|
|||
enum exit_states
|
||||
{
|
||||
ES_NOT_EXITING = 0,
|
||||
ES_SET_MUTO,
|
||||
ES_PROCESS_LOCKED,
|
||||
ES_GLOBAL_DTORS,
|
||||
ES_EVENTS_TERMINATE,
|
||||
ES_THREADTERM,
|
||||
|
|
Loading…
Reference in New Issue