This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Detecting remote NIO sockets closed


Found another NIO sockets issue. For some reason an OP_READ event is never issued when a non-blocking socket has concluded. This is a problem because, from my understanding, the only way to know you've reached the end of one of these is by recieving an OP_READ and getting a -1 back when attempting to read from the channel.

Example: http://javaalmanac.com/egs/java.nio/DetectClosed.html

I dug around a bit and I think that the problem resides in natSelectorImplWin32.cc:

aArray[nCurIndex++].init(pReadFD[i], FD_ACCEPT | FD_READ);

Shouldnt we take interest in closing fd's?

aArray[nCurIndex++].init(pReadFD[i], FD_ACCEPT | FD_READ | FD_CLOSE);


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]