[Bug 17195] NamedPipe datagrams need to be _really_ datagrams

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Aug 13 21:13:39 CDT 2014


https://bugs.winehq.org/show_bug.cgi?id=17195

--- Comment #160 from Sebastian Lackner <sebastian at fds-team.de> ---
I decided to check what the remaining differences are between my implementation
and Adams patchset. I've rebased most of his patches for 1.7.14, and have just
added my tests as a last patch (you can split it with 'git am'):
http://ix.io/dT6

As suspected, there are various differences in the implementation, test results
are here: 
http://ix.io/dT5 .

Failing tests in my implementation (and marked as todo_wine):
* Its impossible to handle specific 0 byte reads correctly (without kernel
patches), Adams implementation works well for those.
* Based on the design decision to use SOCK_SEQPACKET there is an upper message
size limit (which can be changed in /proc).
* Some overlapped stuff needs to be fixed, my patches don't touch this part.

Failing tests in Adams implementation:
* Writing to a pipe doesn't seem to block if the pipe "is full" - not sure if
there are any applications that really needs this though.
* Wrong error code when pipe is empty in non-blocking mode, should be
ERROR_NO_DATA, but is ERROR_NO_MORE_ITEMS, could maybe confuse some
applications?
* Doesn't fix all GetNamedPipeHandleState issues.
* ReadFile succeeds reading from INVALID_HANDLE_VALUE? Could also confuse some
applications, when they depend the correct error code.

This is my attempt to quickly fix the issues 2-4 in his implementation by just
adding one additional patch on top of it:
http://ix.io/dTc

Regards,
Sebastian

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list