[ 
https://issues.apache.org/jira/browse/THRIFT-1890?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jens Geyer updated THRIFT-1890:
-------------------------------

    Attachment: 
THRIFT-1890_Cpp_Make_named_pipes_server_work_asynchronously-v2.patch

 * added separate wakeup Event 
 * modified overlapped Event cleanup
 * replaced INFINITE wait with 3 seconds to prevent against denial of service 

Remarks:
1. Comparing the requirements for both CancelIoEx() and CancelIo() suggests 
that CancelIoEx() is probably not supported with XP.
2. In the Delphi version, I used 5 seconds, but the C++ code already uses 3 
seconds timeouts in Pipe.cpp.

                
> 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