< prev index next >

src/java.base/unix/classes/sun/nio/ch/UnixDispatcher.java

Print this page
*** 34,19 ***
      @Override
      void close(FileDescriptor fd) throws IOException {
          close0(fd);
      }
  
!     private void signalThreads(long reader, long writer) {
!         if (NativeThread.isNativeThread(reader))
              NativeThread.signal(reader);
!         if (NativeThread.isNativeThread(writer))
              NativeThread.signal(writer);
      }
  
      @Override
!     void implPreClose(FileDescriptor fd, long reader, long writer) throws IOException {
          if (SUPPORTS_PENDING_SIGNALS) {
              signalThreads(reader, writer);
          }
          preClose0(fd);
          if (!SUPPORTS_PENDING_SIGNALS) {
--- 34,21 ---
      @Override
      void close(FileDescriptor fd) throws IOException {
          close0(fd);
      }
  
!     private void signalThreads(Thread reader, Thread writer) {
!         if (reader != null) {
              NativeThread.signal(reader);
!         }
+         if (writer != null) {
              NativeThread.signal(writer);
+         }
      }
  
      @Override
!     void implPreClose(FileDescriptor fd, Thread reader, Thread writer) throws IOException {
          if (SUPPORTS_PENDING_SIGNALS) {
              signalThreads(reader, writer);
          }
          preClose0(fd);
          if (!SUPPORTS_PENDING_SIGNALS) {
< prev index next >