Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
TServerSocket sets up many socket options, but unlike TSocket, it doesn't disable SIGPIPE.
One example for how this can be triggered is the server receives a request, but takes too long to process it. The sender then times out, and potentially closes its sockets. The server then completes the request, and then attempts to write back the result. Since the socket is now closed, a SIGPIPE signal is sent to the process, and if that signal isn't ignored, the process would crash, with a potential -13 exit code.
Attachments
Issue Links
- links to