private synchronized boolean closeImpl()

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;
  }