in src/native/windows/apps/prunsrv/prunsrv.c [261:290]
DWORD WINAPI eventThread(LPVOID lpParam)
{
DWORD dwRotateCnt = SO_LOGROTATE;
for (;;) {
DWORD dw = WaitForSingleObject(gSignalEvent, 1000);
if (dw == WAIT_TIMEOUT) {
/* Do process maintenance */
if (SO_LOGROTATE != 0 && --dwRotateCnt == 0) {
/* Perform log rotation. */
dwRotateCnt = SO_LOGROTATE;
}
continue;
}
if (dw == WAIT_OBJECT_0 && gSignalValid) {
if (!GenerateConsoleCtrlEvent(CTRL_BREAK_EVENT, 0)) {
/* Invoke Thread dump */
if (gWorker && _jni_startup)
apxJavaDumpAllStacks(gWorker);
}
ResetEvent(gSignalEvent);
continue;
}
break;
}
ExitThread(0);
return 0;
UNREFERENCED_PARAMETER(lpParam);
}