Re: [PATCH] daemon: support <directory> arguments again
On Tue, Jan 4, 2011 at 5:04 AM, Jonathan Nieder <jrnieder@gmail.com> wrote:
Show 32 quoted lines
> 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@gmail.com>
> ---
> 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!