From: Ryan Lortie Date: Tue, 10 Dec 2013 18:27:52 +0000 (-0500) Subject: core-util: set_scheduler: check for RLIMIT_RTTIME X-Git-Url: https://code.delx.au/pulseaudio/commitdiff_plain/6f954c76745acaaa8cae5a569702e23e83115b3b core-util: set_scheduler: check for RLIMIT_RTTIME set_scheduler() assumes that if sys/resource.h was found then we will find RLIMIT_RTTIME there, but this is a non-POSIX extension on Linux. Change the check to ensure that RLIMIT_RTTIME is actually defined. Linux indeed defines this as a macro, and POSIX specifies that the other RLIMIT_ constants must be macros, so having this as an #ifdef seems correct. --- diff --git a/src/pulsecore/core-util.c b/src/pulsecore/core-util.c index 06c38841..2efa280e 100644 --- a/src/pulsecore/core-util.c +++ b/src/pulsecore/core-util.c @@ -707,7 +707,7 @@ static int set_scheduler(int rtprio) { #ifdef HAVE_DBUS int r; long long rttime; -#ifdef HAVE_SYS_RESOURCE_H +#ifdef RLIMIT_RTTIME struct rlimit rl; #endif DBusError error; @@ -749,7 +749,7 @@ static int set_scheduler(int rtprio) { rttime = rtkit_get_rttime_usec_max(bus); if (rttime >= 0) { -#ifdef HAVE_SYS_RESOURCE_H +#ifdef RLIMIT_RTTIME r = getrlimit(RLIMIT_RTTIME, &rl); if (r >= 0 && (long long) rl.rlim_max > rttime) {