diff options
author | Christopher Faylor <me@cgf.cx> | 2012-12-22 01:30:56 +0400 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2012-12-22 01:30:56 +0400 |
commit | c3a4634985018ad5e1e1d972ff3799254e0b88aa (patch) | |
tree | 21aa3506470c6c606ffbe8a076e54cf243e574b8 /winsup/cygwin/sigproc.h | |
parent | 65068ebd7f78c461f2e5b59e49ac923f98783ab1 (diff) |
Revert the reversion and go with implementation described in cgf-000017, with
some modifications.
* init.cc (dll_entry): Revert previous change.
* miscfuncs.cc: Include sigproc.h for exit_thread declaration.
* winsup.h (ExitThread): Define as 'exit_thread' to ensure no accidental use.
* sigproc.cc (exit_thread): New function.
(wait_sig): Handle __SIGTHREADEXIT case. Don't just block rather than
returning from this function.
* sigproc.h (__SIGTHREADEXIT): New enum.
(exit_thread): Declare.
* sync.cc (muto::release): Accept a tls command-line argument.
* sync.h (muto::release): Accept a tls command-line parameter. Default to
&_my_tls.
* cygerrno.h (__set_errno): Define as extern so that no function code is ever
emitted.
* cygserver_ipc.h (cygserver_ipc.h): Ditto.
* miscfuncs.h (transform_chars): Ditto.
* path.h (has_attribute): Ditto.
* security.h (privilege_luid): Ditto.
* winsup.h (flush_file_buffers): Ditto.
Diffstat (limited to 'winsup/cygwin/sigproc.h')
-rw-r--r-- | winsup/cygwin/sigproc.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/winsup/cygwin/sigproc.h b/winsup/cygwin/sigproc.h index a5a2e04c5..371641b40 100644 --- a/winsup/cygwin/sigproc.h +++ b/winsup/cygwin/sigproc.h @@ -25,7 +25,8 @@ enum __SIGHOLD = -(NSIG + 7), __SIGNOHOLD = -(NSIG + 8), __SIGEXIT = -(NSIG + 9), - __SIGSETPGRP = -(NSIG + 10) + __SIGSETPGRP = -(NSIG + 10), + __SIGTHREADEXIT = -(NSIG + 11) }; #endif @@ -87,6 +88,7 @@ void __stdcall sigalloc (); int kill_pgrp (pid_t, siginfo_t&); int killsys (pid_t, int); +void exit_thread (DWORD) __attribute__ ((regparm (1), noreturn)); extern "C" void sigdelayed (); |