diff options
author | Lennart Poettering <lennart@poettering.net> | 2009-06-04 01:53:51 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2009-06-04 01:53:51 +0200 |
commit | 065fe7baaa263b8140acd6f1ff1c816af9e02d0d (patch) | |
tree | a6aad3e1b929903a2e8f1b41365a633ccf99fcc3 /rtkit.c | |
parent | f4dd55fa9fcf2b4a018793a2bfe3fe42e9dbc663 (diff) |
when thread == 0 is passed, fill in gettid()
Diffstat (limited to 'rtkit.c')
-rw-r--r-- | rtkit.c | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -24,11 +24,20 @@ SOFTWARE. ***/ +#define _GNU_SOURCE + #include <string.h> #include <errno.h> +#include <unistd.h> +#include <sys/types.h> +#include <sys/syscall.h> #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, |