ssl socket input stream close
843811Oct 2 2001 — edited Oct 3 2001Hi,
I've extended a comm package by adding support for ssl client and server sockets. A DataInputStream is used to read data coming in to the client socket. An attempt to close the input stream object causes a deadlock. Calling close on the socket without closing the input and output streams first works fine, so I have a way around this issue but I would like to know what is going on. Killing the server frees the lock on the client. I've written small test clients and servers that do not have this issue so I must be doing something different (wrong) but I can't figure out what it is. Any idea? Thanks, The thread dump for the locked thread follows:
" ft2-1 " prio=3 tid=0x164f20 nid=0x17 waiting for monitor entry [0xf0b51000..0xf0b519e0] at com.sun.net.ssl.internal.ssl.AppInputStream.close([DashoPro-V1.2-120198])
at java.io.FilterInputStream.close(FilterInputStream.java:162)
at com.ncube.vod.comm.SockStream.close(SockStream.java:45)
at com.ncube.vod.comm.SSLCommClient.reset(SSLCommClient.java:206)
at com.ncube.vod.comm.SSLCommClient.close(SSLCommClient.java:332)
at com.ncube.vod.encryption.motorola.ErsComm.handleTimeout(ErsComm.java:106)
at com.ncube.vod.encryption.motorola.ErsFacade.handleTimeout(ErsFacade.java:630)
at com.ncube.vod.encryption.motorola.ops.ErsTimerOp.processNotification(ErsTimerOp.java:73)
at com.ncube.vod.operation.OpsCenter.processNotification(OpsCenter.java:166)
at com.ncube.vod.istruct.Filter.processNetworkMessage(Filter.java:148)
at com.ncube.vod.istruct.QManager$FilterThread.run(QManager.java:250)