mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-05 13:29:57 -05:00
add new field running_as_daemon to pa_core
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@356 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
parent
48b2a87ed8
commit
e4395c223d
3 changed files with 12 additions and 3 deletions
|
|
@ -59,7 +59,7 @@ struct pa_core {
|
||||||
|
|
||||||
struct pa_memblock_stat *memblock_stat;
|
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;
|
int exit_idle_time, module_idle_time, scache_idle_time;
|
||||||
|
|
||||||
struct pa_time_event *quit_event;
|
struct pa_time_event *quit_event;
|
||||||
|
|
|
||||||
|
|
@ -296,6 +296,8 @@ int main(int argc, char *argv[]) {
|
||||||
|
|
||||||
c = pa_core_new(pa_mainloop_get_api(mainloop));
|
c = pa_core_new(pa_mainloop_get_api(mainloop));
|
||||||
assert(c);
|
assert(c);
|
||||||
|
if (conf->daemonize)
|
||||||
|
c->running_as_daemon = 1;
|
||||||
|
|
||||||
pa_signal_new(SIGUSR1, signal_callback, c);
|
pa_signal_new(SIGUSR1, signal_callback, c);
|
||||||
pa_signal_new(SIGUSR2, signal_callback, c);
|
pa_signal_new(SIGUSR2, signal_callback, c);
|
||||||
|
|
|
||||||
|
|
@ -50,6 +50,11 @@ int pa__init(struct pa_core *c, struct pa_module*m) {
|
||||||
struct pa_iochannel *io;
|
struct pa_iochannel *io;
|
||||||
assert(c && m);
|
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) {
|
if (m->argument) {
|
||||||
pa_log(__FILE__": module doesn't accept arguments.\n");
|
pa_log(__FILE__": module doesn't accept arguments.\n");
|
||||||
return -1;
|
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) {
|
void pa__done(struct pa_core *c, struct pa_module*m) {
|
||||||
assert(c && m);
|
assert(c && m);
|
||||||
|
|
||||||
|
if (c->running_as_daemon == 0) {
|
||||||
pa_cli_free(m->userdata);
|
pa_cli_free(m->userdata);
|
||||||
pa_stdio_release();
|
pa_stdio_release();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue