aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2008-12-30 19:50:22 +0100
committerMax Kellermann <max@duempel.org>2008-12-30 19:50:22 +0100
commitd40cf1652ddbab662c753217a61c8bfba03d07ce (patch)
tree2c1821d4f38b955313ff4652efe5656e97926909
parenta3b0506cfd962d74fa11ad83bf3bee3c6b5663da (diff)
downloadmpd-d40cf1652ddbab662c753217a61c8bfba03d07ce.tar.gz
mpd-d40cf1652ddbab662c753217a61c8bfba03d07ce.tar.xz
mpd-d40cf1652ddbab662c753217a61c8bfba03d07ce.zip
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().
-rw-r--r--src/Makefile.am1
-rw-r--r--src/client.c3
-rw-r--r--src/main.c3
-rw-r--r--src/main.h24
4 files changed, 29 insertions, 2 deletions
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 <locale.h>
#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