+Sat Nov 4 22:07:03 2000 Christopher Faylor <cgf@cygnus.com>
+
+ * exceptions.cc (handle_sigsuspend): Record frame here for signalling.
+ (set_process_mask): Ditto.
+
Sat Nov 4 14:24:10 2000 Christopher Faylor <cgf@cygnus.com>
* sigproc.cc (wait_subproc): Still more debugging cleanup.
int __stdcall
handle_sigsuspend (sigset_t tempmask)
{
+ sigframe thisframe (mainthread);
sigset_t oldmask = myself->getsigmask (); // Remember for restoration
set_process_mask (tempmask & ~SIG_NONMASKABLE);// Let signals we're
extern "C" void __stdcall
set_process_mask (sigset_t newmask)
{
+ sigframe thisframe (mainthread);
mask_sync->acquire (INFINITE);
sigset_t oldmask = myself->getsigmask ();
newmask &= ~SIG_NONMASKABLE;
break;
/* A child process had terminated.
- * Possibly this is just due to an exec(). Cygwin implements an exec()
- * as a "handoff" from one windows process to another. If child->hProcess
- * is different from what is recorded in hchildren, then this is an exec().
- * Otherwise this is a normal child termination event.
- * (called from wait_subproc thread)
- */
+ Possibly this is just due to an exec(). Cygwin implements an exec()
+ as a "handoff" from one windows process to another. If child->hProcess
+ is different from what is recorded in hchildren, then this is an exec().
+ Otherwise this is a normal child termination event.
+ (called from wait_subproc thread) */
case PROC_CHILDTERMINATED:
if (hchildren[val] != pchildren[val]->hProcess)
{