[PATCH] git-daemon --inetd
authorlars.doelle@on-line.de <lars.doelle@on-line.de>
Thu, 8 Sep 2005 01:50:01 +0000 (03:50 +0200)
committerJunio C Hamano <junkio@cox.net>
Thu, 8 Sep 2005 05:08:30 +0000 (22:08 -0700)
git-daemon using inetd. does not work properly. inetd routes stderr onto the
network line just like stdout, which was apparently not expected to be so.

As the result of this, the stream is closed by the receiver, because some
"Packing %d objects\n" originating from pack_objects is first reported over
the line instead of the expected pack_header, and so the SIGNATURE test
fails.  Here is a workaround.

Signed-off-by: Junio C Hamano <junkio@cox.net>
daemon.c

index fb3f25c..24bac16 100644 (file)
--- a/daemon.c
+++ b/daemon.c
@@ -353,8 +353,10 @@ int main(int argc, char **argv)
                usage(daemon_usage);
        }
 
-       if (inetd_mode)
+       if (inetd_mode) {
+               fclose(stderr); //FIXME: workaround
                return execute();
+       }
 
        return serve(port);
 }