From: Erik Faye-Lund Date: Tue, 04 Jan 2011 12:42:58 GMT Subject: Re: [PATCH] daemon: support arguments again Message-ID: In-Reply-To: <20110104040446.GA3541@burratino> On Tue, Jan 4, 2011 at 5:04 AM, Jonathan Nieder wrote: > Ever since v1.7.4-rc0~125^2~8 (daemon: use run-command api for async > serving, 2010-11-04), git daemon spawns child processes instead of > forking to serve requests.  The child processes learn that they are > being run for this purpose from the presence of the --serve command > line flag. > > When running with arguments, the --serve flag is treated > as one of the path arguments and the special child behavior does > not kick in.  So the child becomes an ordinary git daemon process, > notices that all the addresses it needs are in use, and exits with > the message "fatal: unable to allocate any listen sockets on port > 9418". > > Fix it by putting --serve at the beginning of the command line, > where the flag cannot be mistaken for a path argument. > > Signed-off-by: Jonathan Nieder > --- > On the client side: > >  $ git clone git://localhost/git/git.git >  Cloning into git... >  fatal: read error: Connection reset by peer > > On the server side: > >  # $git_src/bin-wrappers/git daemon --verbose --base-path=/var/cache /var/cache/git >  fatal: unable to allocate any listen sockets on port 9418 >  [3602] [3604] Disconnected (with error) > > Bisects to v1.7.4-rc0~125^2~8.  This patch seems to fix it.  Thoughts? > Looks good to me. Thanks for finding and fixing it!