Author: dgorbachev
Date: Fri Jun 15 23:14:15 2007
New Revision: 27193
URL:
http://svn.reactos.org/svn/reactos?rev=27193&view=rev
Log:
Do not break away from the loop on every error. It can cause situation when
many threads die after one client death.
Modified:
trunk/reactos/subsystems/win32/csrss/api/wapi.c
Modified: trunk/reactos/subsystems/win32/csrss/api/wapi.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/csrss/api…
==============================================================================
--- trunk/reactos/subsystems/win32/csrss/api/wapi.c (original)
+++ trunk/reactos/subsystems/win32/csrss/api/wapi.c Fri Jun 15 23:14:15 2007
@@ -216,6 +216,13 @@
0,
&Reply->Header,
&Request->Header);
+ /* Client died, continue */
+ if (Status == STATUS_INVALID_CID)
+ {
+ Reply = NULL;
+ continue;
+ }
+
if (!NT_SUCCESS(Status))
{
DPRINT1("NtReplyWaitReceivePort failed: %lx\n", Status);