[ 
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

Reply via email to