summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLyude Paul <lyude@redhat.com>2019-04-23 18:50:56 -0400
committerLyude Paul <lyude@redhat.com>2019-05-07 17:37:56 -0400
commit998288337d87b9fac8ae3a2f06ee97bfa9bfdfa3 (patch)
tree01cf7f5109a92232da85b3ff50343b3106c31dc6
parent71a46ea98a946437993b16b1cb2433f85d19a94e (diff)
Use gettid() wrapper everywhere
Currently we have multiple different parts of IGT that define their own wrapper around the gettid() syscall (or just call it directly with no wrapper). Additionally, add the appropriate #includes for igt_aux.h to make sure syscall() is available. Reviewed-by: Petri Latvala <petri.latvala@intel.com> Signed-off-by: Lyude Paul <lyude@redhat.com>
-rw-r--r--benchmarks/gem_syslatency.c1
-rw-r--r--lib/igt_aux.h7
-rw-r--r--lib/igt_core.c2
-rw-r--r--tests/core_auth.c6
-rw-r--r--tests/drm_import_export.c2
-rw-r--r--tests/i915/gem_close_race.c1
6 files changed, 10 insertions, 9 deletions
diff --git a/benchmarks/gem_syslatency.c b/benchmarks/gem_syslatency.c
index ba5d32a9..7671dc43 100644
--- a/benchmarks/gem_syslatency.c
+++ b/benchmarks/gem_syslatency.c
@@ -44,7 +44,6 @@
#include <linux/unistd.h>
-#define gettid() syscall(__NR_gettid)
#define sigev_notify_thread_id _sigev_un._tid
static volatile int done;
diff --git a/lib/igt_aux.h b/lib/igt_aux.h
index 67e8fbf4..a6e3770e 100644
--- a/lib/igt_aux.h
+++ b/lib/igt_aux.h
@@ -32,11 +32,16 @@
#include <stdbool.h>
#include <stddef.h>
#include <sys/time.h>
+#ifdef __linux__
+# include <sys/syscall.h>
+#endif
#include <i915/gem_submission.h>
/* signal interrupt helpers */
-#define gettid() syscall(__NR_gettid)
+#ifdef __linux__
+# define gettid() syscall(__NR_gettid)
+#endif
#define sigev_notify_thread_id _sigev_un._tid
/* auxialiary igt helpers from igt_aux.c */
diff --git a/lib/igt_core.c b/lib/igt_core.c
index 3141d923..43fa197f 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -1992,7 +1992,7 @@ static void fatal_sig_handler(int sig)
#ifdef __linux__
/* Workaround cached PID and TID races on glibc and Bionic libc. */
pid_t pid = syscall(SYS_getpid);
- pid_t tid = syscall(SYS_gettid);
+ pid_t tid = gettid();
syscall(SYS_tgkill, pid, tid, sig);
#else
diff --git a/tests/core_auth.c b/tests/core_auth.c
index 1bdc2261..49cad7cd 100644
--- a/tests/core_auth.c
+++ b/tests/core_auth.c
@@ -46,9 +46,7 @@
#include <sys/sysmacros.h>
#include "drm.h"
-#ifdef __linux__
-# include <sys/syscall.h>
-#else
+#ifndef __linux__
# include <pthread.h>
#endif
@@ -62,7 +60,7 @@ is_local_tid(pid_t tid)
#else
/* On Linux systems, drmGetClient() would return the thread ID
instead of the actual process ID */
- return syscall(SYS_gettid) == tid;
+ return gettid() == tid;
#endif
}
diff --git a/tests/drm_import_export.c b/tests/drm_import_export.c
index 4bc7b7d4..e1b0abae 100644
--- a/tests/drm_import_export.c
+++ b/tests/drm_import_export.c
@@ -120,7 +120,7 @@ static void start_test(void)
static void * test_thread(void * par)
{
#ifdef __linux__
- igt_debug("start %ld\n", syscall(SYS_gettid));
+ igt_debug("start %ld\n", gettid());
#else
igt_debug("start %ld\n", (long) pthread_self());
#endif
diff --git a/tests/i915/gem_close_race.c b/tests/i915/gem_close_race.c
index 11d626dc..57e00480 100644
--- a/tests/i915/gem_close_race.c
+++ b/tests/i915/gem_close_race.c
@@ -51,7 +51,6 @@
static uint32_t devid;
static bool has_64bit_relocations;
-#define gettid() syscall(__NR_gettid)
#define sigev_notify_thread_id _sigev_un._tid
static void selfcopy(int fd, uint32_t handle, int loops)