Index: fusl/src/thread/pthread_getschedparam.c |
diff --git a/fusl/src/thread/pthread_getschedparam.c b/fusl/src/thread/pthread_getschedparam.c |
new file mode 100644 |
index 0000000000000000000000000000000000000000..3053c1865e0a1f1d2c6c8ea16d30ecdcddfb4a7d |
--- /dev/null |
+++ b/fusl/src/thread/pthread_getschedparam.c |
@@ -0,0 +1,17 @@ |
+#include "pthread_impl.h" |
+ |
+int pthread_getschedparam(pthread_t t, int *restrict policy, struct sched_param *restrict param) |
+{ |
+ int r; |
+ __lock(t->killlock); |
+ if (t->dead) { |
+ r = ESRCH; |
+ } else { |
+ r = -__syscall(SYS_sched_getparam, t->tid, param); |
+ if (!r) { |
+ *policy = __syscall(SYS_sched_getscheduler, t->tid); |
+ } |
+ } |
+ __unlock(t->killlock); |
+ return r; |
+} |