* exceptions.cc (_cygtls::interrupt_setup): Implement SA_RESETHAND.

* include/cygwin/signal.h: Define SA_ONESHOT and SA_NOMASK.
* dcrt0.cc (get_cygwin_startup_info): Remove commented out code.
This commit is contained in:
Christopher Faylor 2006-01-01 16:51:29 +00:00
parent a89b700926
commit a14d65557a
4 changed files with 11 additions and 7 deletions

View File

@ -1,3 +1,10 @@
2006-01-01 Christopher Faylor <cgf@timesys.com>
* exceptions.cc (_cygtls::interrupt_setup): Implement SA_RESETHAND.
* include/cygwin/signal.h: Define SA_ONESHOT and SA_NOMASK.
* dcrt0.cc (get_cygwin_startup_info): Remove commented out code.
2006-01-01 Corinna Vinschen <corinna@vinschen.de>
* syslog.cc (vklog): Never log kernel messages using the vsyslog

View File

@ -623,15 +623,8 @@ get_cygwin_startup_info ()
if (res->straced)
{
res->ready (false);
#if 0
DWORD prio = GetThreadPriority (GetCurrentThread ());
SetThreadPriority (GetCurrentThread (), THREAD_PRIORITY_IDLE);
#endif
for (unsigned i = 0; !being_debugged () && i < 10000; i++)
low_priority_sleep (0);
#if 0
SetThreadPriority (GetCurrentThread (), prio);
#endif
strace.hello ();
}
break;

View File

@ -744,6 +744,8 @@ _cygtls::interrupt_setup (int sig, void *handler, struct sigaction& siga)
deltamask = siga.sa_mask & ~SIG_NONMASKABLE;
sa_flags = siga.sa_flags;
func = (void (*) (int)) handler;
if (siga.sa_flags & SA_RESETHAND)
siga.sa_handler = SIG_DFL;
saved_errno = -1; // Flag: no errno to save
if (handler == sig_handle_tty_stop)
{

View File

@ -179,6 +179,8 @@ struct sigaction
#define SA_NODEFER 0x40000000 /* Don't automatically block the signal
when its handler is being executed */
#define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler */
#define SA_ONESHOT SA_RESETHAND /* Historical linux name */
#define SA_NOMASK SA_NODEFER /* Historical linux name */
#define SIGHUP 1 /* hangup */
#define SIGINT 2 /* interrupt */