[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 fb3f25c48665596f41ebcee66037bdd1be2dd30a..24bac16668ffe4d2301719c48a22c48ec449cf7f 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);
 }