in src/com/pty4j/windows/winpty/NamedPipe.java [190:207]
private synchronized boolean closeImpl() {
if (shutdownFlag) {
// If shutdownFlag is already set, then the handles are already closed.
return false;
}
shutdownFlag = true;
Kernel32.INSTANCE.SetEvent(shutdownEvent);
if (!myFinalizedFlag) {
readLock.lock();
writeLock.lock();
writeLock.unlock();
readLock.unlock();
}
Kernel32.INSTANCE.CloseHandle(shutdownEvent);
Kernel32.INSTANCE.CloseHandle(readEvent);
Kernel32.INSTANCE.CloseHandle(writeEvent);
return true;
}