diff options
-rw-r--r-- | IkiWiki/Receive.pm | 9 | ||||
-rw-r--r-- | debian/changelog | 6 |
2 files changed, 14 insertions, 1 deletions
diff --git a/IkiWiki/Receive.pm b/IkiWiki/Receive.pm index c73adfbbb..5908e09f9 100644 --- a/IkiWiki/Receive.pm +++ b/IkiWiki/Receive.pm @@ -35,10 +35,17 @@ EOF } "u != $uid"; } @{$config{untrusted_committers}}). - ") exit(0);\n"; + ") {\n"; $ret.=<<"EOF"; + /* Trusted user. + * Consume all stdin before exiting, as git may + * otherwise be unhappy. */ + char buf[256]; + while (read(0, &buf, 256) != 0) {} + exit(0); + } asprintf(&s, "CALLER_UID=%i", u); newenviron[i++]=s; } diff --git a/debian/changelog b/debian/changelog index 0c64875f1..ccdeb8300 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +ikiwiki (3.20111108) UNRELEASED; urgency=low + + * Consume all stdin when rcs_receive short-circuits, to avoid git SIPIPE race. + + -- Joey Hess <joeyh@debian.org> Mon, 05 Dec 2011 15:14:48 -0400 + ikiwiki (3.20111107) unstable; urgency=low * img: Bugfix to width/height tags for scaled down image when only |