ca77b848e7
* exception.h (cygwin_exception): New class. (cygwin_exception::dumpstack): Declare new function. (cygwin_exception::context): Ditto. (cygwin_exception::dump_exception): Ditto. * exceptions.cc (cygwin_exception::dump_exception): Move into cygwin_exception class. Accommodate new variable names. (cygwin_exception::dumpstack): Ditto stackdump -> dumpstack. (exception::handle): Move andreas processing earlier. Defer signal processing decisions to the signal thread where they belong. Pass exception information to sig_send via new siginfo_t si_cyg field. (ctrl_c_handler): Wait for SIGHUP signal to be processed since it could cause a process exit and we don't want races with thread exit lock. (signal_exit): Move back here from sigproc.cc. Modify arguments and remove from sigpacket class. Decide when to dump core based on signal type. (sigpacket::process): Handle exiting signals in context of threads rather than in the signal thread. Signal debugger on non-Windows signals. Remove setup_signal_exit call. * sigproc.cc (no_signals_available): Remove argument. (signal_exit_code): Delete. (close_my_readsig): Ditto. (_cygtls::signal_exit): Move to exceptions.cc. (sigproc_terminate): Don't attempt to terminate signal thread. (setup_signal_exit): Delete. (exit_thread): Use new si_cyg entry in siginfo_t. (sig_send): Just use empty initializer for si. Accommodate change in no_signals_available argument. (wait_sig): Remove attempt to "go asynchronous" on process exit. Delete __SIGEXIT handling. Don't ever exit. * sigproc.h: Remove __SIGEXIT from signal enum. Renumber. * include/cygwin/signal.h (siginfo_t): Add si_cyg entry. |
||
---|---|---|
.. | ||
_types.h | ||
acl.h | ||
config.h | ||
core_dump.h | ||
cygwin_dll.h | ||
fs.h | ||
grp.h | ||
hdreg.h | ||
icmp.h | ||
if.h | ||
in.h | ||
in6.h | ||
in_systm.h | ||
ipc.h | ||
kd.h | ||
msg.h | ||
mtio.h | ||
rdevio.h | ||
sem.h | ||
shm.h | ||
signal.h | ||
socket.h | ||
sockios.h | ||
stat.h | ||
stdlib.h | ||
sys_time.h | ||
sysproto.h | ||
time.h | ||
types.h | ||
utmp.h | ||
version.h | ||
wait.h |