* DevNotes: Add entry cgf-000016.

* cygtls.h (_cygtls::push): Inline.
(_cygtls::interrupt_now): Change signal number argument to siginfo_t argument.
(_cygtls::interrupt_setup): Ditto.
(_cygtls::set_siginfo): Delete declaration.
(_cygtls::reset_signal_arrived): Don't reset signal_arrived signal.  Just reset
flag.
* exceptions.cc (_cygtls::interrupt_now): Reflect argument changes.  Pass si to
interrupt_setup.
(_cygtls::interrupt_setup): Reflect argument changes.  Fill out tls infodata
here using passed-in si.  Use si.si_signo instead of sig.
(sigpacket::setup_handler): Move this function into sigpacket class.  Use si
field from the class as appropriate.
(sigpacket::process): Don't call tls->set_siginfo here since setup_handler
could fail.  Eliminate now-unneeded sig argument.
* sigproc.h (sigpacket::setup_handler): Move setup_handler to this class.
This commit is contained in:
Christopher Faylor
2012-08-17 17:29:21 +00:00
parent 23338be7f5
commit 39d0171500
6 changed files with 66 additions and 38 deletions

View File

@@ -56,6 +56,8 @@ struct sigpacket
struct sigpacket *next;
};
int __stdcall process () __attribute__ ((regparm (1)));
int setup_handler (void *handler, struct sigaction& siga, _cygtls *tls)
__attribute__ ((regparm (3)));
};
void __stdcall sig_dispatch_pending (bool fast = false)