]> code.delx.au - pulseaudio/commitdiff
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 3660442446b55bb6fb5a2b1ad83897c2b3cc4a8f..8ef665707da08a40987946ce2aac319130890bf3 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 e881821e0c8e60dd1667b1d35870fbcabc56e8e7..26fa4a8744efa0fa234fa71a149dc184dc1c7833 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 55fe8ad427481662baf1b4e47ce87bba5c411c38..7d278f90b6a60a8fa7a291ce26a9d6b7516a50df 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();
+    }
 }