* dcrt0.cc (do_exit): Eliminate "C" linkage. Call events_terminate early.

(exit_states): Move out of source file into header file.
* winsup.h: Move exit_states here.  Remove "C" linkage from do_exit
declaration.
* debug.cc (lock_debug): Remove explicit (and incorrect) external for
exit_state.
* sigproc.cc (sig_dispatch_pending): Don't flush signals if exiting.
This commit is contained in:
Christopher Faylor
2003-09-23 04:02:07 +00:00
parent d92d731fa5
commit 3400b4fc44
5 changed files with 36 additions and 24 deletions

View File

@@ -162,7 +162,23 @@ extern "C" int dll_dllcrt0 (HMODULE, per_process *);
extern "C" int dll_noncygwin_dllcrt0 (HMODULE, per_process *);
/* exit the program */
extern "C" void __stdcall do_exit (int) __attribute__ ((noreturn));
enum exit_states
{
ES_NOT_EXITING = 0,
ES_EVENTS_TERMINATE,
ES_THREADTERM,
ES_SIGNAL,
ES_CLOSEALL,
ES_SIGPROCTERMINATE,
ES_TITLE,
ES_HUP_PGRP,
ES_HUP_SID,
ES_TTY_TERMINATE
};
extern exit_states exit_state;
void __stdcall do_exit (int) __attribute__ ((regparm (1), noreturn));
/* UID/GID */
void uinfo_init (void);