* exceptions.cc (handle_sigsuspend): Record frame here for signalling.
(set_process_mask): Ditto.
This commit is contained in:
		@@ -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>
 | 
			
		||||
 | 
			
		||||
	* sigproc.cc (wait_subproc): Still more debugging cleanup.
 | 
			
		||||
 
 | 
			
		||||
@@ -554,6 +554,7 @@ stack (void)
 | 
			
		||||
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
 | 
			
		||||
@@ -872,6 +873,7 @@ ctrl_c_handler (DWORD type)
 | 
			
		||||
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;
 | 
			
		||||
 
 | 
			
		||||
@@ -262,12 +262,11 @@ proc_subproc (DWORD what, DWORD val)
 | 
			
		||||
      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)
 | 
			
		||||
	{
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user