Detecting remote NIO sockets closed

Stanley Brown stanley.brown@zimmer.com
Fri Sep 17 21:15:00 GMT 2004


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


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /