diff --git a/src/pulsecore/core-util.c b/src/pulsecore/core-util.c index 5d2bae92f..68e10b3fa 100644 --- a/src/pulsecore/core-util.c +++ b/src/pulsecore/core-util.c @@ -699,6 +699,10 @@ char *pa_strlcpy(char *b, const char *s, size_t l) { #ifdef HAVE_SYS_RESOURCE_H static int set_nice(int nice_level) { +#ifdef __linux__ + FILE* f; +#endif + #ifdef HAVE_DBUS DBusError error; DBusConnection *bus; @@ -707,6 +711,15 @@ static int set_nice(int nice_level) { dbus_error_init(&error); #endif +#ifdef __linux__ + if (!(f = pa_fopen_cloexec("/proc/self/autogroup", "w"))) { + pa_log_info("Failed to open autogroup"); + } else { + fprintf(f, "%d", nice_level); + fclose(f); + } +#endif + #ifdef HAVE_SYS_RESOURCE_H if (setpriority(PRIO_PROCESS, 0, nice_level) >= 0) { pa_log_debug("setpriority() worked.");