* pinfo.cc (pinfo::exit): Call TerminateProcess to avoid potential
busy loop in ntdll.dll when calling ExitProcess. Only call ExitProcess as a fallback.
This commit is contained in:
		| @@ -1,3 +1,9 @@ | ||||
| 2011-11-28  Corinna Vinschen  <vinschen@redhat.com> | ||||
|  | ||||
| 	* pinfo.cc (pinfo::exit): Call TerminateProcess to avoid potential | ||||
| 	busy loop in ntdll.dll when calling ExitProcess. Only call ExitProcess | ||||
| 	as a fallback. | ||||
|  | ||||
| 2011-11-27  Christopher Faylor  <me.cygwin2011@cgf.cx> | ||||
|  | ||||
| 	* init.cc (dll_entry): Revert previous change since it caused | ||||
|   | ||||
| @@ -210,6 +210,8 @@ pinfo::exit (DWORD n) | ||||
|   if (!self->cygstarted) | ||||
|     exitcode = ((exitcode & 0xff) << 8) | ((exitcode >> 8) & 0xff); | ||||
|   sigproc_printf ("Calling ExitProcess n %p, exitcode %p", n, exitcode); | ||||
|   if (!TerminateProcess (GetCurrentProcess (), exitcode)) | ||||
|     system_printf ("TerminateProcess failed, %E"); | ||||
|   ExitProcess (exitcode); | ||||
| } | ||||
| # undef self | ||||
|   | ||||
		Reference in New Issue
	
	Block a user