http://bugs.winehq.org/show_bug.cgi?id=17195
--- Comment #18 from Luke Kenneth Casson Leighton lkcl@lkcl.net 2009-02-08 09:57:49 --- Created an attachment (id=19335) --> (http://bugs.winehq.org/attachment.cgi?id=19335) progress so far
work-in-progress, provided in case anyone's interested. being absolutely honest, it's fairly horrendous! :)
the infrastructure is in place to create, on each messagemode write, another socketpair, but is disabled for now (line 1804 of server/named_pipe.c) as the socketpair needs to be closed when availdata == 0 (line 1665, TBD) on a read, and in ntdll/file.c detection is required, if polling / waiting for a read, for when a close occurs, to loop round and get another filedescriptor.
so that's _definitely_ one for another day!
right now, i have at least test1 working, and, amazingly, shortread.
send2recv2 obviously fails due to the use of a single filedescriptor pair.
ironically, testing is actually taking place by having to watch the \pipe\svcctl rpcrt4 interaction, not the tests! named pipes are such a fundamental part of wine now that ... ok, it would be _really_ helpful if ncalrpc used lrpc not named pipes :)