configure.ac: add option "--disable-daemon"
This commit is contained in:
parent
26382713c2
commit
ed001e0cfb
@ -186,9 +186,14 @@ if ANDROID
|
||||
else
|
||||
libmpd_a_SOURCES += \
|
||||
src/unix/SignalHandlers.cxx src/unix/SignalHandlers.hxx \
|
||||
src/unix/Daemon.cxx src/unix/Daemon.hxx \
|
||||
src/unix/PidFile.hxx \
|
||||
src/CommandLine.cxx src/CommandLine.hxx
|
||||
|
||||
if ENABLE_DAEMON
|
||||
libmpd_a_SOURCES += \
|
||||
src/unix/Daemon.cxx src/unix/Daemon.hxx \
|
||||
src/unix/PidFile.hxx
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
if ENABLE_DATABASE
|
||||
|
13
configure.ac
13
configure.ac
@ -367,6 +367,19 @@ AC_ARG_ENABLE(nfs,
|
||||
[enable support for libnfs (default: auto)]),,
|
||||
[enable_nfs=auto])
|
||||
|
||||
default_enable_daemon=yes
|
||||
if test x$host_is_android = xyes || test x$host_is_android = xyes; then
|
||||
default_enable_daemon=no
|
||||
fi
|
||||
AC_ARG_ENABLE(daemon,
|
||||
AS_HELP_STRING([--enable-daemon],
|
||||
[enable daemonization (default: enabled)]),,
|
||||
enable_daemon=$default_enable_daemon)
|
||||
AM_CONDITIONAL([ENABLE_DAEMON], [test x$enable_daemon = xyes])
|
||||
if test x$enable_daemon = xyes; then
|
||||
AC_DEFINE([ENABLE_DAEMON], 1, [Enable daemonization?])
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE(debug,
|
||||
AS_HELP_STRING([--enable-debug],
|
||||
[enable debugging (default: disabled)]),,
|
||||
|
23
src/Main.cxx
23
src/Main.cxx
@ -50,7 +50,6 @@
|
||||
#include "AudioConfig.hxx"
|
||||
#include "pcm/PcmConvert.hxx"
|
||||
#include "unix/SignalHandlers.hxx"
|
||||
#include "unix/Daemon.hxx"
|
||||
#include "system/FatalError.hxx"
|
||||
#include "util/UriUtil.hxx"
|
||||
#include "util/Error.hxx"
|
||||
@ -65,6 +64,10 @@
|
||||
#include "config/ConfigError.hxx"
|
||||
#include "Stats.hxx"
|
||||
|
||||
#ifdef ENABLE_DAEMON
|
||||
#include "unix/Daemon.hxx"
|
||||
#endif
|
||||
|
||||
#ifdef ENABLE_DATABASE
|
||||
#include "db/update/Service.hxx"
|
||||
#include "db/Configured.hxx"
|
||||
@ -133,7 +136,7 @@ Instance *instance;
|
||||
|
||||
static StateFile *state_file;
|
||||
|
||||
#ifndef ANDROID
|
||||
#ifdef ENABLE_DAEMON
|
||||
|
||||
static bool
|
||||
glue_daemonize_init(const struct options *options, Error &error)
|
||||
@ -422,9 +425,11 @@ int mpd_main(int argc, char *argv[])
|
||||
struct options options;
|
||||
Error error;
|
||||
|
||||
#ifndef ANDROID
|
||||
#ifdef ENABLE_DAEMON
|
||||
daemonize_close_stdin();
|
||||
#endif
|
||||
|
||||
#ifndef ANDROID
|
||||
#ifdef HAVE_LOCALE_H
|
||||
/* initialize locale */
|
||||
setlocale(LC_CTYPE,"");
|
||||
@ -470,7 +475,9 @@ int mpd_main(int argc, char *argv[])
|
||||
LogError(error);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef ENABLE_DAEMON
|
||||
if (!glue_daemonize_init(&options, error)) {
|
||||
LogError(error);
|
||||
return EXIT_FAILURE;
|
||||
@ -512,7 +519,7 @@ int mpd_main(int argc, char *argv[])
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
#ifndef ANDROID
|
||||
#ifdef ENABLE_DAEMON
|
||||
daemonize_set_user();
|
||||
daemonize_begin(options.daemon);
|
||||
#endif
|
||||
@ -585,9 +592,11 @@ static int mpd_main_after_fork(struct options options)
|
||||
|
||||
playlist_list_global_init();
|
||||
|
||||
#ifndef ANDROID
|
||||
#ifdef ENABLE_DAEMON
|
||||
daemonize_commit();
|
||||
#endif
|
||||
|
||||
#ifndef ANDROID
|
||||
setup_log_output(options.log_stderr);
|
||||
|
||||
SignalHandlersInit(*instance->event_loop);
|
||||
@ -724,9 +733,11 @@ static int mpd_main_after_fork(struct options options)
|
||||
delete instance->event_loop;
|
||||
delete instance;
|
||||
instance = nullptr;
|
||||
#ifndef ANDROID
|
||||
|
||||
#ifdef ENABLE_DAEMON
|
||||
daemonize_finish();
|
||||
#endif
|
||||
|
||||
#ifdef WIN32
|
||||
WSACleanup();
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user