[
https://issues.apache.org/jira/browse/THRIFT-2441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14386836#comment-14386836
]
James E. King, III commented on THRIFT-2441:
--------------------------------------------
I understand now, and your original comment makes sense. As such, it sounds
like we should back out this change for now, as we need a fix that can properly
force a close from the server side without the possibility of reading from an
unexpected file descriptor.
Another reference for this discussion, although it is over 4 years old:
http://stackoverflow.com/questions/3624365/blocking-recv-doesnt-exit-when-closing-socket-from-another-thread
> Cannot shutdown TThreadedServer when clients are still connected
> ----------------------------------------------------------------
>
> Key: THRIFT-2441
> URL: https://issues.apache.org/jira/browse/THRIFT-2441
> Project: Thrift
> Issue Type: Bug
> Components: C++ - Library
> Affects Versions: 0.9.1
> Reporter: Chris Stylianou
> Assignee: Roger Meier
>
> When calling stop() on the TThreadedServer no interrupts are sent to the
> client threads. This means the stop() call blocks on tasksMonitor.wait()
> until all client naturally disconnect.
> How can we tell the client thread connections to close/exit during the
> TThreadedServer::stop() call?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)