Use pthread calls instead of raw syscalls on non-Linux systems

Raw system calls aren't portable to other kernels.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
Alan Coopersmith
2014-12-23 19:07:10 -08:00
committed by Daniel Vetter
parent cf93bc8df9
commit 99e6defbe7
3 changed files with 27 additions and 6 deletions
+7 -1
View File
@@ -37,7 +37,11 @@
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#ifdef __linux__
# include <sys/syscall.h>
#else
# include <pthread.h>
#endif
#include "drm.h"
#include "ioctl_wrappers.h"
@@ -47,7 +51,9 @@
static bool
is_local_tid(pid_t tid)
{
#ifndef ANDROID
#ifndef __linux__
return pthread_self() == tid;
#elif !defined(ANDROID)
/* On Linux systems, drmGetClient() would return the thread ID
instead of the actual process ID */
return syscall(SYS_gettid) == tid;
+4
View File
@@ -121,7 +121,11 @@ static void start_test(void)
static void * test_thread(void * par)
{
#ifdef __linux__
igt_debug("start %ld\n", syscall(SYS_gettid));
#else
igt_debug("start %ld\n", (long) pthread_self());
#endif
start_test();
return NULL;