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