[
https://issues.apache.org/jira/browse/THRIFT-1890?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13606371#comment-13606371
]
Ben Craig commented on THRIFT-1890:
-----------------------------------
This made progress, but at least with the threaded server, I still get a hang.
The issue with the latest patch is that you return one last client pipe before
closing and throwing a transport exception. This last client pipe that is
created gets added to the threaded server's list of tasks, and then the
threaded server waits for that task to finish.
I will attach the toy program I used to test this. If you want to make it part
of the overall thrift test suite, I'm fine with that, or you can use it as a
throwaway.
Thanks for looking at this as much as you have. I'm hoping this proves useful
for the Delphi implementation as well.
> C++: Make named pipes server work asynchronously
> -------------------------------------------------
>
> Key: THRIFT-1890
> URL: https://issues.apache.org/jira/browse/THRIFT-1890
> Project: Thrift
> Issue Type: Improvement
> Components: C++ - Library
> Environment: Windows
> Reporter: Jens Geyer
> Assignee: Jens Geyer
> Fix For: 1.0
>
> Attachments:
> THRIFT-1890_Cpp_Make_named_pipes_server_work_asynchronously-v2.patch
>
>
> Currently the named pipe server cannot be stopped gracefully due to the way
> ConnectNamedPipe() works for synchronous named pipes. The recommended
> solution is to run the pipe in "overlapped" mode, allowing the transport to
> be closed cleanly.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira