* exceptions.cc (handle_sigsuspend): Record frame here for signalling.
(set_process_mask): Ditto.
This commit is contained in:
parent
1ae469adf4
commit
7edb836a68
|
@ -1,3 +1,8 @@
|
||||||
|
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>
|
Sat Nov 4 14:24:10 2000 Christopher Faylor <cgf@cygnus.com>
|
||||||
|
|
||||||
* sigproc.cc (wait_subproc): Still more debugging cleanup.
|
* sigproc.cc (wait_subproc): Still more debugging cleanup.
|
||||||
|
|
|
@ -554,6 +554,7 @@ stack (void)
|
||||||
int __stdcall
|
int __stdcall
|
||||||
handle_sigsuspend (sigset_t tempmask)
|
handle_sigsuspend (sigset_t tempmask)
|
||||||
{
|
{
|
||||||
|
sigframe thisframe (mainthread);
|
||||||
sigset_t oldmask = myself->getsigmask (); // Remember for restoration
|
sigset_t oldmask = myself->getsigmask (); // Remember for restoration
|
||||||
|
|
||||||
set_process_mask (tempmask & ~SIG_NONMASKABLE);// Let signals we're
|
set_process_mask (tempmask & ~SIG_NONMASKABLE);// Let signals we're
|
||||||
|
@ -872,6 +873,7 @@ ctrl_c_handler (DWORD type)
|
||||||
extern "C" void __stdcall
|
extern "C" void __stdcall
|
||||||
set_process_mask (sigset_t newmask)
|
set_process_mask (sigset_t newmask)
|
||||||
{
|
{
|
||||||
|
sigframe thisframe (mainthread);
|
||||||
mask_sync->acquire (INFINITE);
|
mask_sync->acquire (INFINITE);
|
||||||
sigset_t oldmask = myself->getsigmask ();
|
sigset_t oldmask = myself->getsigmask ();
|
||||||
newmask &= ~SIG_NONMASKABLE;
|
newmask &= ~SIG_NONMASKABLE;
|
||||||
|
|
|
@ -262,12 +262,11 @@ proc_subproc (DWORD what, DWORD val)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* A child process had terminated.
|
/* A child process had terminated.
|
||||||
* Possibly this is just due to an exec(). Cygwin implements an exec()
|
Possibly this is just due to an exec(). Cygwin implements an exec()
|
||||||
* as a "handoff" from one windows process to another. If child->hProcess
|
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().
|
is different from what is recorded in hchildren, then this is an exec().
|
||||||
* Otherwise this is a normal child termination event.
|
Otherwise this is a normal child termination event.
|
||||||
* (called from wait_subproc thread)
|
(called from wait_subproc thread) */
|
||||||
*/
|
|
||||||
case PROC_CHILDTERMINATED:
|
case PROC_CHILDTERMINATED:
|
||||||
if (hchildren[val] != pchildren[val]->hProcess)
|
if (hchildren[val] != pchildren[val]->hProcess)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue