fix bug in dladdr that prevented resolving addresses in the PLT
[oweals/musl.git] / src / time / timer_create.c
index 6cff16fbcc189e16eba3b179a6f289427050e12f..60a18c71989dd459399d7a64fac6d338c5c521bc 100644 (file)
@@ -1,4 +1,5 @@
 #include <time.h>
+#include <setjmp.h>
 #include "pthread_impl.h"
 
 struct ksigevent {
@@ -51,7 +52,8 @@ static void install_handler()
                .sa_flags = SA_SIGINFO | SA_RESTART
        };
        __libc_sigaction(SIGTIMER, &sa, 0);
-       __syscall(SYS_rt_sigprocmask, SIG_UNBLOCK, SIGTIMER_SET, 0, 8);
+       __syscall(SYS_rt_sigprocmask, SIG_UNBLOCK,
+               SIGTIMER_SET, 0, __SYSCALL_SSLEN);
 }
 
 static void *start(void *arg)
@@ -75,7 +77,7 @@ static void *start(void *arg)
        return 0;
 }
 
-int timer_create(clockid_t clk, struct sigevent *evp, timer_t *res)
+int timer_create(clockid_t clk, struct sigevent *restrict evp, timer_t *restrict res)
 {
        static pthread_once_t once = PTHREAD_ONCE_INIT;
        pthread_t td;