summaryrefslogtreecommitdiffstats
path: root/src/daemon/main.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2006-08-19 01:20:13 +0000
committerLennart Poettering <lennart@poettering.net>2006-08-19 01:20:13 +0000
commitdbc658df4129eec260619f3fd31680ad7977f46c (patch)
tree14d680ba1b5f94db9156bef9bc498ff4a1137b9e /src/daemon/main.c
parentc9b6d55090a22256443b0a0f4b24acfa94bf4422 (diff)
add new "disable-shm" server config option
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1286 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src/daemon/main.c')
-rw-r--r--src/daemon/main.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/daemon/main.c b/src/daemon/main.c
index 95ba6dd5..8b816b9a 100644
--- a/src/daemon/main.c
+++ b/src/daemon/main.c
@@ -306,10 +306,10 @@ static void set_all_rlimits(const pa_daemon_conf *conf) {
#endif
int main(int argc, char *argv[]) {
- pa_core *c;
+ pa_core *c = NULL;
pa_strbuf *buf = NULL;
- pa_daemon_conf *conf;
- pa_mainloop *mainloop;
+ pa_daemon_conf *conf = NULL;
+ pa_mainloop *mainloop = NULL;
char *s;
int r, retval = 1, d = 0;
@@ -559,8 +559,9 @@ int main(int argc, char *argv[]) {
mainloop = pa_mainloop_new();
assert(mainloop);
- c = pa_core_new(pa_mainloop_get_api(mainloop), 1);
- assert(c);
+ if (!(c = pa_core_new(pa_mainloop_get_api(mainloop), !conf->disable_shm)))
+ goto finish;
+
c->is_system_instance = !!conf->system_instance;
r = pa_signal_init(pa_mainloop_get_api(mainloop));
@@ -651,12 +652,14 @@ int main(int argc, char *argv[]) {
pa_cpu_limit_done();
pa_signal_done();
- pa_mainloop_free(mainloop);
pa_log_info("Daemon terminated.");
finish:
+ if (mainloop)
+ pa_mainloop_free(mainloop);
+
if (conf)
pa_daemon_conf_free(conf);