issue with ServerSocket::accept

David Daney ddaney@avtrex.com
Fri May 14 16:51:00 GMT 2004


Bryce McKinlay wrote:

> Vladimir Leven wrote:
>
>> Oops. It does seem to block -- my mistake. But there is still a 
>> problem. When I close the serverSocket, java generates a 
>> SocketException, but gcj does not appear to do so.
>
>
>
> Looks like we don't implement blocking I/O interruption with close().  
> I've set up a bug report to track this issue, with a self-contained 
> test case:
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15430
>
> Does anyone know of a good way to implement this? Can select() do it?
>

I haven't gone through the exercise, but what does accept(2) do when 
close(2) is called on the socket from another thread?

Intuition tells me that something will happen on the thread that called 
accept().  Perhaps accept returns -1.  If this is the case you could 
check to see if the socket was closed and throw the exception.

David Daney



More information about the Java mailing list