From 065fe7baaa263b8140acd6f1ff1c816af9e02d0d Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 4 Jun 2009 01:53:51 +0200 Subject: when thread == 0 is passed, fill in gettid() --- rtkit.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'rtkit.c') diff --git a/rtkit.c b/rtkit.c index 67a44f7..893edde 100644 --- a/rtkit.c +++ b/rtkit.c @@ -24,11 +24,20 @@ SOFTWARE. ***/ +#define _GNU_SOURCE + #include #include +#include +#include +#include #include "rtkit.h" +static pid_t _gettid(void) { + return syscall(SYS_gettid); +} + static int translate_error(const char *name) { if (strcmp(name, DBUS_ERROR_NO_MEMORY) == 0) return -ENOMEM; @@ -51,6 +60,9 @@ int rtkit_make_realtime(DBusConnection *connection, pid_t thread, int priority) dbus_error_init(&error); + if (thread == 0) + thread = _gettid(); + if (!(m = dbus_message_new_method_call( RTKIT_SERVICE_NAME, RTKIT_OBJECT_PATH, @@ -105,6 +117,9 @@ int rtkit_make_high_priority(DBusConnection *connection, pid_t thread, int nice_ dbus_error_init(&error); + if (thread == 0) + thread = _gettid(); + if (!(m = dbus_message_new_method_call( RTKIT_SERVICE_NAME, RTKIT_OBJECT_PATH, -- cgit