http://bugs.winehq.org/show_bug.cgi?id=17195
--- Comment #105 from Daniel Jelinski djelinski1@gmail.com 2012-12-21 02:58:03 CST --- (In reply to comment #104)
(..) Perhaps I should rename pipe_server to pipe_instance in the 1st patch?
Yes, I think that's a good idea.
I could also and an enum for which end is which (enum { pe_server, pe_client };).
Or use: struct pipe_end *server, *client; instead of: struct pipe_end *ends[2]; That could also help.
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.
Well, the patch title says that the main change is making both pipe ends readable. Is there any feasible way to separate making both ends readable from making both ends use pipe_end? If there is, you should probably do it. If not (and it seems this way), you should probably change the patch title to reflect the major change, and add a comment that the side effect is making both ends readable. Also I noticed that you changed the order of create_pipe_server and create_pipe_end. If you restore the original order, you'll get a smaller diff :) There's not much more you can do here, so that must suffice.