[Bug 17195] NamedPipe datagrams need to be _really_ datagrams

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Dec 20 16:10:55 CST 2012


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

--- Comment #104 from Adam Martinson <adam.r.martinson at gmail.com> 2012-12-20 16:10:55 CST ---
(In reply to comment #103)
> It's still not quite clear what exactly that patch changes. Am I right that the
> main part is adding pipe_end_flush and pipe_end_ioctl, and making both pipe
> ends use the same set of fd_ops? If so, you could split the cosmetic changes
> (i.e. everything else) into a separate patch after that one. Yes, that probably
> means you will need to add some code in one patch only to delete it in the next
> one, but that should improve readability considerably.

Sort of.  Basically both ends of the pipe behave more or less the same, so it
moves the stuff that's shared into the pipe_server object and the stuff that's
specific to each end into the pipe_end object.  Perhaps I should rename
pipe_server to pipe_instance in the 1st patch?  I could also and an enum for
which end is which (enum { pe_server, pe_client };).

The major change becomes using the pipe_end object for both the client and
server ends, and I don't think there's any way to do that without changing it
everywhere at once.  The addition of pipe_end_ioctl() really just takes over
FSCTL_PIPE_DISCONNECT from pipe_server_ioctl(), because pipe_server_ioctl will
only be called if the pipe isn't connected.  pipe_end_flush() is really just a
rename of pipe_server_flush(), and becomes usable from either end.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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