* sigproc.cc (pending_signals::add): Properly maintain linked list.
(wait_sig): Use already calculated 'next' element when signal is blocked.
This commit is contained in:
		@@ -1,3 +1,9 @@
 | 
			
		||||
2013-08-30  Christopher Faylor  <me.cygwin2013@cgf.cx>
 | 
			
		||||
 | 
			
		||||
	* sigproc.cc (pending_signals::add): Properly maintain linked list.
 | 
			
		||||
	(wait_sig): Use already calculated 'next' element when signal is
 | 
			
		||||
	blocked.
 | 
			
		||||
 | 
			
		||||
2013-08-26  Corinna Vinschen  <corinna@vinschen.de>
 | 
			
		||||
 | 
			
		||||
	* mtinfo.h (class mtinfo_part): Change type of block numbers to int64_t.
 | 
			
		||||
 
 | 
			
		||||
@@ -1190,7 +1190,7 @@ pending_signals::add (sigpacket& pack)
 | 
			
		||||
  if (se->si.si_signo)
 | 
			
		||||
    return;
 | 
			
		||||
  *se = pack;
 | 
			
		||||
  se->next = NULL;
 | 
			
		||||
  se->next = start.next;
 | 
			
		||||
  start.next = se;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -1276,7 +1276,7 @@ wait_sig (VOID *)
 | 
			
		||||
	      }
 | 
			
		||||
	  }
 | 
			
		||||
	  break;
 | 
			
		||||
	default:
 | 
			
		||||
	default:	/* Normal (positive) signal */
 | 
			
		||||
	  if (pack.si.si_signo < 0)
 | 
			
		||||
	    sig_clear (-pack.si.si_signo);
 | 
			
		||||
	  else
 | 
			
		||||
@@ -1293,7 +1293,7 @@ wait_sig (VOID *)
 | 
			
		||||
	      while ((qnext = q->next))
 | 
			
		||||
		{
 | 
			
		||||
		  if (qnext->si.si_signo && qnext->process () <= 0)
 | 
			
		||||
		    q = q->next;
 | 
			
		||||
		    q = qnext;
 | 
			
		||||
		  else
 | 
			
		||||
		    {
 | 
			
		||||
		      q->next = qnext->next;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user