From d40cf1652ddbab662c753217a61c8bfba03d07ce Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 30 Dec 2008 19:50:22 +0100 Subject: main: export the main_loop variable Other libraries may need to access the main_loop reference, to add or remove events, or to call g_main_loop_quit(). --- src/Makefile.am | 1 + src/client.c | 3 ++- src/main.c | 3 ++- src/main.h | 24 ++++++++++++++++++++++++ 4 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 src/main.h diff --git a/src/Makefile.am b/src/Makefile.am index 62dede538..2cd3f3924 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -43,6 +43,7 @@ mpd_headers = \ listen.h \ log.h \ ls.h \ + main.h \ main_notify.h \ daemon.h \ normalize.h \ diff --git a/src/client.c b/src/client.c index 77fd6c895..c170b1162 100644 --- a/src/client.c +++ b/src/client.c @@ -25,6 +25,7 @@ #include "main_notify.h" #include "dlist.h" #include "idle.h" +#include "main.h" #include "../config.h" @@ -471,7 +472,7 @@ client_in_event(G_GNUC_UNUSED GIOChannel *source, switch (ret) { case COMMAND_RETURN_KILL: client_close(client); - g_main_loop_quit(NULL); + g_main_loop_quit(main_loop); return false; case COMMAND_RETURN_CLOSE: diff --git a/src/main.c b/src/main.c index a33650ae0..28cce4b71 100644 --- a/src/main.c +++ b/src/main.c @@ -75,6 +75,8 @@ #include #endif +GMainLoop *main_loop; + static void changeToUser(void) { #ifndef WIN32 @@ -207,7 +209,6 @@ main_notify_triggered(void) int main(int argc, char *argv[]) { Options options; - GMainLoop *main_loop; clock_t start; GTimer *save_state_timer; diff --git a/src/main.h b/src/main.h new file mode 100644 index 000000000..8943280a1 --- /dev/null +++ b/src/main.h @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2003-2008 The Music Player Daemon Project + * http://www.musicpd.org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef MAIN_H +#define MAIN_H + +extern GMainLoop *main_loop; + +#endif -- cgit v1.2.3