* cygtls.h (waitq): Declare structure here.
(_cygtls::wq): Declare. * cygtls.cc (_cygtls::fixup_after_fork): Clear wq.thread_ev to avoid using an invalid event handle in forked process. * dcrt0.cc (waitq_storage): Delete. (threadstuff): Remove waitq_storage. * perthread.h (per_thread_waitq): Delete. (waitq_storage): Delete declaration. * sigproc.cc (sigproc_init): Remove perthread waitq consideration. * sigproc.h (waitq): Delete declaration. * wait.cc (wait4): Use _my_tls waitq structure rather than per_thread. * cygtls.h (_cygtls::newmask): Delete member. (_cygtls::deltamask): New member. * gendef (_sigdelayed): Replace the call to set_process_mask by a call to set_process_mask_delta. * exceptions.cc (handle_sigsuspend): Do not filter tempmask. Or SIG_NONMASKABLE in deltamask as a flag. (_cygtls::interrupt_setup): Set deltamask only. (set_process_mask_delta): New function. (_cygtls::call_signal_handler): Replace the first call to set_process_mask by a call to set_process_mask_delta. * tlsoffsets.h: Regenerate.
This commit is contained in:
@@ -34,15 +34,6 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class per_thread_waitq : public per_thread
|
||||
{
|
||||
public:
|
||||
per_thread_waitq () : per_thread (0) {}
|
||||
void *get () {return (waitq *) per_thread::get ();}
|
||||
void *create () {return (waitq *) per_thread::create ();}
|
||||
size_t size () {return sizeof (waitq);}
|
||||
};
|
||||
|
||||
#ifdef NEED_VFORK
|
||||
#include "cygtls.h"
|
||||
#endif
|
||||
@@ -92,6 +83,4 @@ extern vfork_save *main_vfork;
|
||||
#endif
|
||||
#endif /*NEWVFORK*/
|
||||
|
||||
extern per_thread_waitq waitq_storage;
|
||||
|
||||
extern per_thread *threadstuff[];
|
||||
|
Reference in New Issue
Block a user