X-Git-Url: http://git.jankratochvil.net/?p=reactos.git;a=blobdiff_plain;f=ntoskrnl%2Fps%2Fsuspend.c;fp=ntoskrnl%2Fps%2Fsuspend.c;h=e085e5012b7931daae15542a41d6e293254e2b34;hp=1b97343f8b1ec4e8762e9827d482af0c2ec68903;hb=7c0cf90e3b750f1f0dc83b2eec9e5c68a512c30f;hpb=ee8b63255465d8c28be3e7bd11628015708fc1ab diff --git a/ntoskrnl/ps/suspend.c b/ntoskrnl/ps/suspend.c index 1b97343..e085e50 100644 --- a/ntoskrnl/ps/suspend.c +++ b/ntoskrnl/ps/suspend.c @@ -110,10 +110,15 @@ PsSuspendThread(PETHREAD Thread, PULONG PreviousSuspendCount) Thread->Tcb.SuspendCount++; if (!Thread->Tcb.SuspendApc.Inserted) { - KeInsertQueueApc(&Thread->Tcb.SuspendApc, - NULL, - NULL, - 0); + if (!KeInsertQueueApc(&Thread->Tcb.SuspendApc, + NULL, + NULL, + IO_NO_INCREMENT)) + { + Thread->Tcb.SuspendCount--; + ExReleaseFastMutex(&SuspendMutex); + return(STATUS_THREAD_IS_TERMINATING); + } } ExReleaseFastMutex(&SuspendMutex); if (PreviousSuspendCount != NULL)