[ https://issues.apache.org/jira/browse/THRIFT-2696?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jens Geyer reopened THRIFT-2696: -------------------------------- TTcpSocketStreamImpl.Read does not return an error code. it returms the bytes read. When 0, the calling code in {{TTransportImpl}} assumes the client closed his end. {{TTransportImpl}} itself is transport-agnostic, so changing anything here may easily lead to more side effects with other transports. With regard to the timeout, I would expect it to behave this way, otherwise I can do a simple DOS by opening the socket and never closing it. If I don't want this, leave the default timeout = wait forever. However, that leaves us with the same situation as above, so that's a problem indeed. Could you give my patch a try if that works for you? I tried to cover all possible scenarios now. > Unable to stop socket server while there are idle clients > --------------------------------------------------------- > > Key: THRIFT-2696 > URL: https://issues.apache.org/jira/browse/THRIFT-2696 > Project: Thrift > Issue Type: Bug > Components: Delphi - Library > Affects Versions: 0.9 > Reporter: Severian Duchenko > Assignee: Jens Geyer > Attachments: > THRIFT-2696-Unable-to-stop-socket-server-while-there.patch, patch.txt > > > When TSimpleServer created using TServerSocketImpl and there are idle clients > (connected, but not sending anything), it is impossible to stop server. > After executing TSimpleServer.stop server will not stop until client is > disconnected or does not send anything. -- This message was sent by Atlassian JIRA (v6.3.4#6332)