This is the mail archive of the
cygwin-patches@cygwin.com
mailing list for the Cygwin project.
Re: [PATCH suggestion] exceptions.cc, interrupt_setup ()
- From: Pavel Tsekov <ptsekov at gmx dot net>
- To: cygwin-patches at cygwin dot com
- Date: Sat, 17 Aug 2002 01:08:44 +0200
- Subject: Re: [PATCH suggestion] exceptions.cc, interrupt_setup ()
- References: <119122398409.20020816203409@gmx.net>
- Reply-to: Pavel Tsekov <ptsekov at gmx dot net>
PT> The problem is triggered by the sigdelayed0() code which always
PT> restores the signal mask (exceptions.cc, line 1237) using
Sorry, I spread a misinformation. The above is not quite valid. Should
be:
The problem is triggered by the sigreturn() code which always
restores the signal mask (exceptions.cc, line 1191) using
sigsave.oldmask.
The text below is still valid though.
PT> sigsave.oldmask. The real problem is that the sigsave.oldmask field
PT> is never initialised when preparing to execute a signal handler.
PT> So imagine that someone set sigsave.oldmask to some value (sigsuspend() in this case),
PT> then you will always get this value as the signal mask after a signal handler is called.