daemon: make --inetd and --detach incompatible
Since --inetd makes main return with the result of execute() before daemonize is gets called, these two options are already incompatible. Document it, and add an error if attempted. Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
c295cf0660
commit
9cddf56ef1
@ -78,7 +78,8 @@ OPTIONS
|
|||||||
|
|
||||||
--inetd::
|
--inetd::
|
||||||
Have the server run as an inetd service. Implies --syslog.
|
Have the server run as an inetd service. Implies --syslog.
|
||||||
Incompatible with --port, --listen, --user and --group options.
|
Incompatible with --detach, --port, --listen, --user and --group
|
||||||
|
options.
|
||||||
|
|
||||||
--listen=<host_or_ipaddr>::
|
--listen=<host_or_ipaddr>::
|
||||||
Listen on a specific IP address or hostname. IP addresses can
|
Listen on a specific IP address or hostname. IP addresses can
|
||||||
|
8
daemon.c
8
daemon.c
@ -23,10 +23,10 @@ static const char daemon_usage[] =
|
|||||||
" [--strict-paths] [--base-path=<path>] [--base-path-relaxed]\n"
|
" [--strict-paths] [--base-path=<path>] [--base-path-relaxed]\n"
|
||||||
" [--user-path | --user-path=<path>]\n"
|
" [--user-path | --user-path=<path>]\n"
|
||||||
" [--interpolated-path=<path>]\n"
|
" [--interpolated-path=<path>]\n"
|
||||||
" [--reuseaddr] [--detach] [--pid-file=<file>]\n"
|
" [--reuseaddr] [--pid-file=<file>]\n"
|
||||||
" [--(enable|disable|allow-override|forbid-override)=<service>]\n"
|
" [--(enable|disable|allow-override|forbid-override)=<service>]\n"
|
||||||
" [--inetd | [--listen=<host_or_ipaddr>] [--port=<n>]\n"
|
" [--inetd | [--listen=<host_or_ipaddr>] [--port=<n>]\n"
|
||||||
" [--user=<user> [--group=<group>]]\n"
|
" [--detach] [--user=<user> [--group=<group>]]\n"
|
||||||
" [<directory>...]";
|
" [<directory>...]";
|
||||||
|
|
||||||
/* List of acceptable pathname prefixes */
|
/* List of acceptable pathname prefixes */
|
||||||
@ -1128,8 +1128,8 @@ int main(int argc, char **argv)
|
|||||||
/* avoid splitting a message in the middle */
|
/* avoid splitting a message in the middle */
|
||||||
setvbuf(stderr, NULL, _IOFBF, 4096);
|
setvbuf(stderr, NULL, _IOFBF, 4096);
|
||||||
|
|
||||||
if (inetd_mode && (group_name || user_name))
|
if (inetd_mode && (detach || group_name || user_name))
|
||||||
die("--user and --group are incompatible with --inetd");
|
die("--detach, --user and --group are incompatible with --inetd");
|
||||||
|
|
||||||
if (inetd_mode && (listen_port || (listen_addr.nr > 0)))
|
if (inetd_mode && (listen_port || (listen_addr.nr > 0)))
|
||||||
die("--listen= and --port= are incompatible with --inetd");
|
die("--listen= and --port= are incompatible with --inetd");
|
||||||
|
Loading…
Reference in New Issue
Block a user