[rpcrt4] Properly created named pipes

Thomas Weidenmueller wine-patches at reactsoft.com
Tue Jan 17 08:44:34 CST 2006


Robert Shearman wrote:
> Thomas Weidenmueller wrote:
> If what you say is true about the PIPE_NOWAIT flag affecting this then
> it should be easy to fix.

The PIPE_NOWAIT flag is documented in the PSDK. In fact, named pipes are
handled slightly differently in ReadFile/WriteFile. Even if the named
pipe was created with FILE_FLAG_OVERLAPPED the connect, read write
operations are still performed synchronously, unless the pipe was
created with PIPE_NOWAIT. This is because named pipes are handled
differently to other devices and it's up to the npfs driver to decide
whether to perform the operation synchronously or not (by checking for
PIPE_NOWAIT, which is internally mapped to FILE_PIPE_COMPLETE_OPERATION).

So all in all, my patch in fact isn't quite correct because the
PIPE_NOWAIT flag would be necessary.

> No. I'm pretty sure that the code works correctly and doesn't leak
> threads in Wine. If you can get a backtrace of the threads that
> shouldn't be around then I might be able to determine what is going wrong.

Ok, then I guess it's the pipe implementation in ROS that causes this
handle leak.

- Thomas



More information about the wine-devel mailing list