On Tue, Jan 4, 2011 at 5:04 AM, Jonathan Nieder <jrnieder@xxxxxxxxx> 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 <ok_path> 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 <jrnieder@xxxxxxxxx> > --- > 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! -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html