This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Re: Fifo blocking and performance issues


On 10/3/2012 6:02 AM, Christopher Faylor wrote:
On Wed, Oct 03, 2012 at 02:58:55AM -0700, Gregory M. Turner wrote:
On 10/2/2012 5:55 PM, Christopher Faylor wrote:
FYI, a quick scan seems to show that you've pretty much undone a lot of
what I've recently added for fifos so I don't expect to really be too
keen on applying the patch.  But, I don't want to spend too much time
inspecting a change which can't yet be applied.

Yeah, I'm aware of this; I'd be happy to assign -- I'm always easy when it comes to IP stuff. FTR, that doesn't mean I expect this patch to go in or even be looked at; I'd just like for it to be a non-issue in the future.

Is your tree available somewhere for perusal, Chris?  Or is there some
way we could get a look at your WIP pipe/fifo deltas?  I'm on
-developers and -patches if you want to change venues.

Maybe you are misinterpreting "What I've recently added".> I made big changes to fifo handling in the last couple of Cygwin releases. That is what I was referring to. Otherwise, no, you can't look at my sandbox.

Yep, I thought what you think I thought :)


Unfortunately, with my patch, once the first RDWR handle is created, and until it and all of its clones are closed, subsequent attempts to create additional non-cloned handles don't work.

The root cause is my patch's use of "platonic" half-duplex win32 pipe handles, analogous to pipe2(). Although difficult to "prove" without a lot of verbiage, I believe that this can't be solved in that approach without changing the way fhandler_fifo coordinates readers and writers. So yeah, the patch probably starts fhandler_fifo down a path that would require some sort of significant semantic change.

I used to believe this also proved that the current approach was flawed; but after after some alone-time with your comments, cvs commit history, and a nerf-brand clue-by-four, I'm feeling a lot more agnostic about that... so back to the drawing board, if anywhere; I wouldn't encourage you to put much effort into understanding my patch.

Hopefully, though, I'm starting to get what you're trying to do with PIPE_ACCESS_DUPLEX. If I ever have a good enough question about this that I can formulate it and press the send button without figuring out the answer, I won't hesitate.

-gmt

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]