diff options
author | Max Kellermann <max@duempel.org> | 2013-08-06 21:31:59 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2013-08-07 10:56:33 +0200 |
commit | 930128a7ea11f7012131c4801b86b9b98a7aa9fb (patch) | |
tree | c7fa2375e3a99f5207c75e1fbcf533ab4aa5851c /src/Main.cxx | |
parent | db447440ff8973961e1936a6a64ca4971eeeea57 (diff) | |
download | mpd-930128a7ea11f7012131c4801b86b9b98a7aa9fb.tar.gz mpd-930128a7ea11f7012131c4801b86b9b98a7aa9fb.tar.xz mpd-930128a7ea11f7012131c4801b86b9b98a7aa9fb.zip |
SignalHandlers: move code to new class SignalMonitor
Diffstat (limited to 'src/Main.cxx')
-rw-r--r-- | src/Main.cxx | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/Main.cxx b/src/Main.cxx index cbf501267..a1a3fe976 100644 --- a/src/Main.cxx +++ b/src/Main.cxx @@ -351,6 +351,8 @@ idle_event_emitted(void) state_file->CheckModified(); } +#ifdef WIN32 + /** * Handler for GlobalEvents::SHUTDOWN. */ @@ -360,6 +362,8 @@ shutdown_event_emitted(void) main_loop->Break(); } +#endif + int main(int argc, char *argv[]) { #ifdef WIN32 @@ -436,7 +440,9 @@ int mpd_main(int argc, char *argv[]) GlobalEvents::Initialize(); GlobalEvents::Register(GlobalEvents::IDLE, idle_event_emitted); +#ifdef WIN32 GlobalEvents::Register(GlobalEvents::SHUTDOWN, shutdown_event_emitted); +#endif Path::GlobalInit(); @@ -486,7 +492,7 @@ int mpd_main(int argc, char *argv[]) setup_log_output(options.log_stderr); - initSigHandlers(); + SignalHandlersInit(*main_loop); if (!io_thread_start(&error)) { g_warning("%s", error->message); @@ -583,6 +589,7 @@ int mpd_main(int argc, char *argv[]) config_global_finish(); stats_global_finish(); io_thread_deinit(); + SignalHandlersFinish(); delete instance; delete main_loop; daemonize_finish(); |