summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/sigproc.h
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2012-08-17 17:29:21 +0000
committerChristopher Faylor <me@cgf.cx>2012-08-17 17:29:21 +0000
commit39d01715004ef9a79036965d83192339ec923cac (patch)
tree156b8dc4de9cd2813e8d345c480651efa946acb7 /winsup/cygwin/sigproc.h
parent23338be7f57c46291435742bc8a58f8f4d5898fb (diff)
downloadcygnal-39d01715004ef9a79036965d83192339ec923cac.tar.gz
cygnal-39d01715004ef9a79036965d83192339ec923cac.tar.bz2
cygnal-39d01715004ef9a79036965d83192339ec923cac.zip
* 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.
Diffstat (limited to 'winsup/cygwin/sigproc.h')
-rw-r--r--winsup/cygwin/sigproc.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/winsup/cygwin/sigproc.h b/winsup/cygwin/sigproc.h
index 6e6f3f46f..d442232e9 100644
--- a/winsup/cygwin/sigproc.h
+++ b/winsup/cygwin/sigproc.h
@@ -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)