Fix the RealtimeKit dbus include guards

The SDL_USE_LIBDBUS define is set inside SDL_debug.h, therefore the
circular dependency made it impossible for this feature to be enabled.

Instead, guard SDL_dbus.h based on the autoconf variable HAVE_DBUS_DBUS_H

Additionally, fix one of the rtkit comments. CAP_SYS_NICE isn't required
to achieve high priority. But there is some scheduler config that rtkit
needs the app to setup.
This commit is contained in:
Sam Lantinga 2019-09-27 15:21:27 -07:00
parent 4001e6b351
commit 84dc44e24d
2 changed files with 10 additions and 9 deletions

0
Xcode/SDL/SDL.xcodeproj/project.pbxproj Normal file → Executable file
View File

View File

@ -30,7 +30,7 @@
#include <pthread.h> #include <pthread.h>
#include "SDL_system.h" #include "SDL_system.h"
#if SDL_USE_LIBDBUS #if HAVE_DBUS_DBUS_H
#include "SDL_dbus.h" #include "SDL_dbus.h"
/* d-bus queries to org.freedesktop.RealtimeKit1. */ /* d-bus queries to org.freedesktop.RealtimeKit1. */
#define RTKIT_DBUS_NODE "org.freedesktop.RealtimeKit1" #define RTKIT_DBUS_NODE "org.freedesktop.RealtimeKit1"
@ -88,14 +88,15 @@ SDL_LinuxSetThreadPriority(Sint64 threadID, int priority)
} }
#if SDL_USE_LIBDBUS #if SDL_USE_LIBDBUS
/* Note that this fails if you're trying to set high priority /* Note that this fails you most likely:
and you don't have root permission. BUT DON'T RUN AS ROOT! * Have your process's scheduler incorrectly configured.
See the requirements at:
You can grant the ability to increase thread priority by http://git.0pointer.net/rtkit.git/tree/README#n16
running the following command on your application binary: * Encountered dbus/polkit security restrictions. Note
sudo setcap 'cap_sys_nice=eip' <application> that the RealtimeKit1 dbus endpoint is inaccessible
over ssh connections for most common distro configs.
Let's try setting priority with RealtimeKit... You might want to check your local config for details:
/usr/share/polkit-1/actions/org.freedesktop.RealtimeKit1.policy
README and sample code at: http://git.0pointer.net/rtkit.git README and sample code at: http://git.0pointer.net/rtkit.git
*/ */