You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Seems, that a read on a socket inputstream is not unblocked, when the local socket instance is closed.
Debugging showed that ReliableSocket.shutdownInput(), which notifies the waiting thread, is not called.
Workaround 1) Explicit close on the InputStream
Sequence ReliableSocket.getInputStream.close(); ReliableSocket.close();
would unblock the input stream, though may run into exception as the closed-state of the socket is not properly synchronized
Seems, that a read on a socket inputstream is not unblocked, when the local socket instance is closed.
Debugging showed that
ReliableSocket.shutdownInput()
, which notifies the waiting thread, is not called.Workaround 1) Explicit close on the InputStream
Sequence
ReliableSocket.getInputStream.close();
ReliableSocket.close();
would unblock the input stream, though may run into exception as the closed-state of the socket is not properly synchronized
Workaround 2) Modification of RUDP libary
Added the kernel of
RealiableSocket.shutdownInput()
w/o the throw statements in the asynchronous part ofReliableSocket.closeImpl()
https://github.com/GermanCoding/RUDP/blob/master/RUDP/src/net/rudp/ReliableSocket.java, line 1718
This behaves stable, though it's not clear, whether functional requirements hold for other close sequences.
The text was updated successfully, but these errors were encountered: