* dcrt0.cc (dll_crt0_1): Comment assumption.
* exceptions.cc (sigpacket::setup_handler): Avoid sending signals during fork processing.
This commit is contained in:
		| @@ -1,3 +1,9 @@ | ||||
| 2013-01-21  Christopher Faylor  <me.cygwin2013@cgf.cx> | ||||
|  | ||||
| 	* dcrt0.cc (dll_crt0_1): Comment assumption. | ||||
| 	* exceptions.cc (sigpacket::setup_handler): Avoid sending signals | ||||
| 	during fork processing. | ||||
|  | ||||
| 2013-01-21  Christopher Faylor  <me.cygwin2013@cgf.cx> | ||||
|  | ||||
| 	* dcrt0.cc (dll_crt0_1): Flag that we are working "incyg".  Handle any | ||||
|   | ||||
| @@ -891,6 +891,8 @@ dll_crt0_1 (void *) | ||||
| 	  _tlstop = (char *) fork_info->stacktop; | ||||
| 	} | ||||
|  | ||||
|       /* Not resetting _my_tls.incyg here because presumably fork will overwrite | ||||
| 	 it with the value of the forker and all will be good.   */ | ||||
|       longjmp (fork_info->jmp, true); | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -789,6 +789,10 @@ sigpacket::setup_handler (void *handler, struct sigaction& siga, _cygtls *tls) | ||||
|       goto out; | ||||
|     } | ||||
|  | ||||
|   while (in_forkee) | ||||
|     yield ();		/* Won't be able to send signals until we're finished | ||||
| 			   processing fork().  */ | ||||
|  | ||||
|   for (int n = 0; n < CALL_HANDLER_RETRY_OUTER; n++) | ||||
|     { | ||||
|       for (int i = 0; i < CALL_HANDLER_RETRY_INNER; i++) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user