daemon: add nofail option to the modules section

Use nofail on rtkit when it's not available.
This commit is contained in:
Wim Taymans 2021-01-14 15:06:24 +01:00
parent b8583799ff
commit 7eac9874f0
2 changed files with 12 additions and 5 deletions

View file

@ -122,10 +122,13 @@ static int load_module(struct data *d, const char *key, const char *args, const
if (errno == ENOENT && flags && strstr(flags, "ifexists") != NULL) { if (errno == ENOENT && flags && strstr(flags, "ifexists") != NULL) {
pw_log_debug(NAME" %p: skipping unavailable module %s", pw_log_debug(NAME" %p: skipping unavailable module %s",
d, key); d, key);
} else { } else if (flags == NULL || strstr(flags, "nofail") == NULL) {
pw_log_error(NAME" %p: could not load module \"%s\": %m", pw_log_error(NAME" %p: could not load module \"%s\": %m",
d, key); d, key);
return -errno; return -errno;
} else {
pw_log_info(NAME" %p: could not load module \"%s\": %m",
d, key);
} }
} }
return 0; return 0;

View file

@ -40,12 +40,16 @@ spa-libs = {
modules = { modules = {
## <module-name> = { [args = "<key>=<value> ..."] ## <module-name> = { [args = "<key>=<value> ..."]
# [flags = ifexists] } # [flags = [ifexists]|[nofail]}
# #
# Loads a module with the given parameters. Normally failure is # Loads a module with the given parameters.
# fatal if the module is not found, unless -ifexists is given. # If ifexists is given, the module is ignoed when it is not found.
# If nofail is given, module initialization failures are ignored.
# #
libpipewire-module-rtkit = { "#args" = "rt.prio=20 rt.time.soft=200000 rt.time.hard=200000" flags=ifexists } libpipewire-module-rtkit = {
"#args" = "rt.prio=20 rt.time.soft=200000 rt.time.hard=200000"
flags = ifexists|nofail
}
libpipewire-module-protocol-native = null libpipewire-module-protocol-native = null
libpipewire-module-profiler = null libpipewire-module-profiler = null
libpipewire-module-metadata = null libpipewire-module-metadata = null