add new field running_as_daemon to pa_core
authorLennart Poettering <lennart@poettering.net>
Fri, 16 Sep 2005 00:08:02 +0000 (00:08 +0000)
committerLennart Poettering <lennart@poettering.net>
Fri, 16 Sep 2005 00:08:02 +0000 (00:08 +0000)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@356 fefdeb5f-60dc-0310-8127-8f9354f1896f

polyp/core.h
polyp/main.c
polyp/module-cli.c

index 3660442..8ef6657 100644 (file)
@@ -59,7 +59,7 @@ struct pa_core {
 
     struct pa_memblock_stat *memblock_stat;
 
-    int disallow_module_loading;
+    int disallow_module_loading, running_as_daemon;
     int exit_idle_time, module_idle_time, scache_idle_time;
 
     struct pa_time_event *quit_event;
index e881821..26fa4a8 100644 (file)
@@ -296,6 +296,8 @@ int main(int argc, char *argv[]) {
 
     c = pa_core_new(pa_mainloop_get_api(mainloop));
     assert(c);
+    if (conf->daemonize)
+        c->running_as_daemon = 1;
     
     pa_signal_new(SIGUSR1, signal_callback, c);
     pa_signal_new(SIGUSR2, signal_callback, c);
index 55fe8ad..7d278f9 100644 (file)
@@ -50,6 +50,11 @@ int pa__init(struct pa_core *c, struct pa_module*m) {
     struct pa_iochannel *io;
     assert(c && m);
 
+    if (c->running_as_daemon) {
+        pa_log_info(__FILE__": Running as daemon so won't load this module.\n");
+        return 0;
+    }
+
     if (m->argument) {
         pa_log(__FILE__": module doesn't accept arguments.\n");
         return -1;
@@ -75,6 +80,8 @@ int pa__init(struct pa_core *c, struct pa_module*m) {
 void pa__done(struct pa_core *c, struct pa_module*m) {
     assert(c && m);
 
-    pa_cli_free(m->userdata);
-    pa_stdio_release();
+    if (c->running_as_daemon == 0) {
+        pa_cli_free(m->userdata);
+        pa_stdio_release();
+    }
 }