[
https://issues.apache.org/jira/browse/THRIFT-2069?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ben Craig updated THRIFT-2069:
------------------------------
Attachment: overlapped_pipes.patch
This is a hefty patch. It is pretty much a complete rewrite of the pipe code.
Cases that require "eager" overlapped I/O requests now send those requests to a
singleton thread. This is to avoid issue 3. mentioned above, where an exiting
thread that owns an I/O operations would cause all sorts of havoc.
I'm glad to take any extra feedback on this approach. It is pretty complicated.
> TPipeServer creates overlapped pipes, then uses synchronous I/O on them with
> TPipe
> ----------------------------------------------------------------------------------
>
> Key: THRIFT-2069
> URL: https://issues.apache.org/jira/browse/THRIFT-2069
> Project: Thrift
> Issue Type: Bug
> Components: C++ - Library
> Affects Versions: 1.0
> Environment: Windows
> Reporter: Ben Craig
> Assignee: Ben Craig
> Fix For: 1.0
>
> Attachments: overlapped_pipes.patch
>
>
> The documentation for ReadFile states the following:
> A pointer to an OVERLAPPED structure is required if the hFile parameter was
> opened with FILE_FLAG_OVERLAPPED, otherwise it can be NULL.
> http://msdn.microsoft.com/en-us/library/windows/desktop/aa365467%28v=vs.85%29.aspx
> In C++'s TPipeServer, we create a named pipe with FILE_FLAG_OVERLAPPED, then
> create a TPipe with it. TPipe then calls ReadFile without an overlapped
> structure.
--
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