* DevNotes: Add entry cgf-000017.
* _cygtls.cc (_cygtls::call2): Use new exit_thread function in place of ExitThread. * miscfuncs.cc (thread_wrapper): Ditto. * thread.cc (pthread::exit): Ditto. (pthread_mutex::unlock): Set tid to NULL rather than 0. (pthread_spinlock::unlock): Ditto. * pinfo.cc (commune_process): Actually call lock_process constructor. * 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.
This commit is contained in:
@@ -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 ();
|
||||
|
||||
|
Reference in New Issue
Block a user