summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
6d6e371)
NtTerminateProcess just queues an apc in every thread of the target process which in turn kills each thread. We need to wait so that all processes have enough time to exit before shutting down.
#endif
NtTerminateProcess(CsrProcess->ProcessHandle, 0);
#endif
NtTerminateProcess(CsrProcess->ProcessHandle, 0);
+ WaitForSingleObject(CsrProcess->ProcessHandle, ShutdownSettings.ProcessTerminateTimeout);
+
/* We are done */
CsrDereferenceProcess(CsrProcess);
return CsrShutdownCsrProcess;
/* We are done */
CsrDereferenceProcess(CsrProcess);
return CsrShutdownCsrProcess;