Re: Clean termination of remote-helpers (was Re: [PATCH 2/2] Add a remote helper to interact with mediawiki (fetch & push))

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: Clean termination of remote-helpers (was Re: [PATCH 2/2] Add a remote helper to interact with mediawiki (fetch & push))

From: Matthieu Moy <hidden>
Date: 2016-06-15 22:51:57

Sverre Rabbelier [off-list ref] writes:
Heya,

On Wed, Aug 31, 2011 at 14:33, Matthieu Moy
[off-list ref] wrote:
quoted
I was expecting this part to be more controversial, so I'm just
repeating it to draw more attention ;-).
Eek! :)
quoted
# Inform Git that we're done, otherwise Git won't close it's stdin,
# and the next loop will be infinite.
close(STDOUT);
# Flush stdin before we terminate. If we don't, git fetch
# (transport-helper.c's sendline function) will try to write to our
# stdin, which may be closed, and git fetch will be killed. That's
# probably a bug in transport-helper.c, but in the meantime ...
while (<STDIN>) {};
Is this caused by you not reading the terminating '\n' that git sends
when all commands are done?
Indeed. The stream sent by git looks like

import HEAD
import refs/heads/master
\n <-- this one closes the sequence of import
\n <-- this one closes the sequence of commands.

and I was interpreting it as

import HEAD
import refs/heads/master
\n <-- this one closes the sequence of commands
\n <-- what's this??

So it seems the only bug I've found is insufficient documentation. A
patch follows.

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/

Re: Clean termination of remote-helpers (was Re: [PATCH 2/2] Add a remote helper to interact with mediawiki (fetch & push))

From: Sverre Rabbelier <hidden>
Date: 2016-06-15 22:51:57

Heya,

On Wed, Aug 31, 2011 at 16:53, Matthieu Moy
[off-list ref] wrote:
So it seems the only bug I've found is insufficient documentation. A
patch follows.
Yay! Thanks :)

-- 
Cheers,

Sverre Rabbelier
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help