[ 
https://issues.apache.org/jira/browse/THRIFT-2441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14386681#comment-14386681
 ] 

Ben Craig commented on THRIFT-2441:
-----------------------------------

"however this patch applies after the listening socket has already been 
shutdown/closed"

That is making the assumption that this Thrift server is the only thing in the 
process dealing with sockets.  I routinely deal with processes that have three 
or four different 'things' dealing with sockets.  The thrift worker thread may 
end up 'stealing' an http connection from an entirely different code base.  The 
case that I had to fix in the wild involved a Microsoft RPC server connection 
getting stolen by some mDNS IPC code that was using a closed socket, pretty 
much in exactly this kind of use case.

> 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)

Reply via email to