getaddrinfo: add EAI_NODATA error code to distinguish NODATA vs NxDomain
[musl] / src / thread / pthread_setschedparam.c
index c4738d6..76d4d45 100644 (file)
@@ -1,10 +1,14 @@
 #include "pthread_impl.h"
+#include "lock.h"
 
 int pthread_setschedparam(pthread_t t, int policy, const struct sched_param *param)
 {
        int r;
-       __lock(t->killlock);
-       r = t->dead ? ESRCH : -__syscall(SYS_sched_setscheduler, t->tid, policy, param);
-       __unlock(t->killlock);
+       sigset_t set;
+       __block_app_sigs(&set);
+       LOCK(t->killlock);
+       r = !t->tid ? ESRCH : -__syscall(SYS_sched_setscheduler, t->tid, policy, param);
+       UNLOCK(t->killlock);
+       __restore_sigs(&set);
        return r;
 }