From 9e1ad59de6cdb91cebc057205dd22c2d1dc73673 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Sun, 1 Feb 2004 18:29:12 +0000 Subject: * cygerrno.h (set_errno): Set global errno whenever setting thread specific version. * debug.cc (__set_errno): Ditto. * exceptions.cc (handle_sigsuspend): Remove spurious sig_dispatch_pending call. (set_signal_mask): When there seem to be pending signals to dispatch, tell signal_dispatch_pending/sig_send not to specifically call any handlers. * sigproc.h (sig_dispatch_pending): Change declaration to void. * sigproc.cc (sig_dispatch_pending): Change definition to void. Take an argument to determine whether to tell sig_send to wait for handler to be called. * sigproc.cc (sig_send): Don't call signal handler when sig == __SIGFLUSHFAST. (wait_sig): Honor __SIGFLUSHFAST. Guard against sigpacket::process nuking si_signo. * sigproc.h (__SIGFLUSHFAST): Define new special signal. (sig_dispatch_pending): Change declaration to void. Take optional boolean argument. * fork.cc (vfork): Add debugging output. --- winsup/cygwin/sigproc.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'winsup/cygwin/sigproc.h') diff --git a/winsup/cygwin/sigproc.h b/winsup/cygwin/sigproc.h index b37b91ed9..e9c762112 100644 --- a/winsup/cygwin/sigproc.h +++ b/winsup/cygwin/sigproc.h @@ -1,6 +1,6 @@ /* sigproc.h - Copyright 1997, 1998, 2000, 2001, 2002, 2003 Red Hat, Inc. + Copyright 1997, 1998, 2000, 2001, 2002, 2003, 2004 Red Hat, Inc. This file is part of Cygwin. @@ -23,7 +23,8 @@ enum __SIGSTRACE = -(NSIG + 2), __SIGCOMMUNE = -(NSIG + 3), __SIGPENDING = -(NSIG + 4), - __SIGDELETE = -(NSIG + 5) + __SIGDELETE = -(NSIG + 5), + __SIGFLUSHFAST = -(NSIG + 6) }; #endif @@ -67,7 +68,7 @@ extern HANDLE signal_arrived; extern HANDLE sigCONT; bool __stdcall my_parent_is_alive (); -int __stdcall sig_dispatch_pending (); +void __stdcall sig_dispatch_pending (bool fast = false); #ifdef _PINFO_H extern "C" void __stdcall set_signal_mask (sigset_t newmask, sigset_t = myself->getsigmask ()); #endif -- cgit v1.2.3