[ https://issues.apache.org/jira/browse/THRIFT-2441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14487663#comment-14487663 ]
James E. King, III commented on THRIFT-2441: -------------------------------------------- Note that although peek had to take the heavier poll then recv as well, I've removed it from the consolidated client processing loop in THRIFT-3081, so when combined with that change the end result is exactly as we discussed; if the new functionality is enabled (it is by default) there will be a poll then a recv per data in. With the feature disabled, it goes back to the way it was. So: THRIFT-2441 + THRIFT-3081 = poll then recv per read loop Existing code without these changes = recv + recv(PEEK) per read loop This means the number of syscalls won't change if we take both. The other one is also ready for review. :> > 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: Ben Craig > Attachments: THRIFT-2441-prelim.patch > > > 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)