On Tuesday 31 July 2012 15:43:57 Jonathan Nieder wrote:
> Florian Achleitner wrote:
> > I haven't tried that yet, nor do I remember anything where I've already
> > seen two processes writing to the same pipe.
> It's a perfectly normal and well supported thing to do.
I played around with a little testprogram. It generally works.
I'm still not convinced that this doesn't cause more problems than it can
The standard defines that write calls to pipe fds are atomic, i.e. data is not
interleaved with data from other processes, if the data is less than PIPE_BUF
We would need some kind of locking/synchronization to make it work for sure,
while I believe it will work most of the time.
Currently it runs like this:
transport-helper.c writes one or more 'import <ref>' lines, we don't know in
advance how many and how long they are. Then it waits for fast-import to
When the first line arrives at the remote-helper, it starts importing one line
at a time, leaving the remaining lines in the pipe.
For importing it requires the data from fast-import, which would be mixed with
import lines or queued at the end of them.
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html