From 3d4689756c8532551b80a3ba09586fa5d74e05fb Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Fri, 21 Feb 2014 23:12:51 +0100 Subject: [PATCH] Main: disable command-line parser and signal handlers on Android --- Makefile.am | 13 +++++++++---- src/Main.cxx | 19 +++++++++++++++++++ 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/Makefile.am b/Makefile.am index 9993b9ffa..35f43bae0 100644 --- a/Makefile.am +++ b/Makefile.am @@ -87,7 +87,6 @@ libmpd_a_SOURCES = \ src/command/OtherCommands.cxx src/command/OtherCommands.hxx \ src/command/CommandListBuilder.cxx src/command/CommandListBuilder.hxx \ src/Idle.cxx src/Idle.hxx \ - src/CommandLine.cxx src/CommandLine.hxx \ src/CrossFade.cxx src/CrossFade.hxx \ src/decoder/DecoderError.cxx src/decoder/DecoderError.hxx \ src/decoder/DecoderThread.cxx src/decoder/DecoderThread.hxx \ @@ -125,9 +124,6 @@ libmpd_a_SOURCES = \ src/Instance.cxx src/Instance.hxx \ src/win32/Win32Main.cxx \ src/GlobalEvents.cxx src/GlobalEvents.hxx \ - src/unix/SignalHandlers.cxx src/unix/SignalHandlers.hxx \ - src/unix/Daemon.cxx src/unix/Daemon.hxx \ - src/unix/PidFile.hxx \ src/MixRampInfo.hxx \ src/MusicBuffer.cxx src/MusicBuffer.hxx \ src/MusicPipe.cxx src/MusicPipe.hxx \ @@ -177,6 +173,15 @@ libmpd_a_SOURCES = \ src/SongFilter.cxx src/SongFilter.hxx \ src/PlaylistFile.cxx src/PlaylistFile.hxx +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 +endif + if ENABLE_DATABASE libmpd_a_SOURCES += \ src/PlaylistUpdate.cxx \ diff --git a/src/Main.cxx b/src/Main.cxx index cfb2dcc92..fb2aaf0a9 100644 --- a/src/Main.cxx +++ b/src/Main.cxx @@ -114,6 +114,8 @@ Instance *instance; static StateFile *state_file; +#ifndef ANDROID + static bool glue_daemonize_init(const struct options *options, Error &error) { @@ -131,6 +133,8 @@ glue_daemonize_init(const struct options *options, Error &error) return true; } +#endif + static bool glue_mapper_init(Error &error) { @@ -375,6 +379,7 @@ int mpd_main(int argc, char *argv[]) struct options options; Error error; +#ifndef ANDROID daemonize_close_stdin(); #ifdef HAVE_LOCALE_H @@ -389,12 +394,17 @@ int mpd_main(int argc, char *argv[]) /* enable GLib's thread safety code */ g_thread_init(nullptr); #endif +#endif #endif winsock_init(); io_thread_init(); config_global_init(); +#ifdef ANDROID + (void)argc; + (void)argv; +#else if (!parse_cmdline(argc, argv, &options, error)) { LogError(error); return EXIT_FAILURE; @@ -404,6 +414,7 @@ int mpd_main(int argc, char *argv[]) LogError(error); return EXIT_FAILURE; } +#endif stats_global_init(); TagLoadConfig(); @@ -440,8 +451,10 @@ int mpd_main(int argc, char *argv[]) return EXIT_FAILURE; } +#ifndef ANDROID daemonize_set_user(); daemonize_begin(options.daemon); +#endif GlobalEvents::Initialize(*instance->event_loop); GlobalEvents::Register(GlobalEvents::IDLE, idle_event_emitted); @@ -490,11 +503,13 @@ int mpd_main(int argc, char *argv[]) playlist_list_global_init(); +#ifndef ANDROID daemonize_commit(); setup_log_output(options.log_stderr); SignalHandlersInit(*instance->event_loop); +#endif io_thread_start(); @@ -616,10 +631,14 @@ int mpd_main(int argc, char *argv[]) #endif config_global_finish(); io_thread_deinit(); +#ifndef ANDROID SignalHandlersFinish(); +#endif delete instance->event_loop; delete instance; +#ifndef ANDROID daemonize_finish(); +#endif #ifdef WIN32 WSACleanup(); #endif