Index: message.c =================================================================== --- message.c (Revision 68685) +++ message.c (Arbeitskopie) @@ -2870,6 +2870,7 @@ NTSTATUS Status; HANDLE Handles[3]; LARGE_INTEGER Timeout; + KAPC_STATE ApcState; UserEnterExclusive(); @@ -2887,6 +2888,7 @@ return WAIT_FAILED; } + pti = PsGetCurrentThreadWin32Thread(); W32Process = (PPROCESSINFO)Process->Win32Process; @@ -2915,6 +2917,8 @@ if (dwMilliseconds != INFINITE) Timeout.QuadPart = (LONGLONG) dwMilliseconds * (LONGLONG) -10000; + KeStackAttachProcess(&Process->Pcb, &ApcState); + W32Process->W32PF_flags |= W32PF_WAITFORINPUTIDLE; for (pti = W32Process->ptiList; pti; pti = pti->ptiSibling) { @@ -2922,6 +2926,8 @@ pti->pClientInfo->dwTIFlags = pti->TIF_flags; } + KeUnstackDetachProcess(&ApcState); + TRACE("WFII: ppi %p\n", W32Process); TRACE("WFII: waiting for %p\n", Handles[1] );