summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/sched/sched_getcpu.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/sched/sched_getcpu.c b/src/sched/sched_getcpu.c
new file mode 100644
index 00000000..760e4d5b
--- /dev/null
+++ b/src/sched/sched_getcpu.c
@@ -0,0 +1,13 @@
+#define _GNU_SOURCE
+#include <sched.h>
+#include "syscall.h"
+
+int sched_getcpu(void)
+{
+ int r;
+ unsigned cpu;
+
+ r = __syscall(SYS_getcpu, &cpu, 0, 0);
+ if (!r) return cpu;
+ return __syscall_ret(r);
+}