diff --git a/server/src/ipc/event_listener.cpp b/server/src/ipc/event_listener.cpp index ac00802a..2b204775 100644 --- a/server/src/ipc/event_listener.cpp +++ b/server/src/ipc/event_listener.cpp @@ -405,6 +405,11 @@ void EnqueueTask(TaskType type) void EventListenerLoopThread() { + BOOL fConnected = ConnectNamedPipe(hPipe, NULL) ? TRUE : (GetLastError() == ERROR_PIPE_CONNECTED); + if (!fConnected) + { + DisconnectNamedPipe(hPipe); + } int numEvents = FANY_IME_EVENT_ARRAY.size(); while (true) {