[ 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