X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fsignal%2Fsigqueue.c;h=b75f0c5cea42f7f03a23ef3f130d1c507f8c2df4;hb=95a540e176b3ebd57d6033fd23cf9fec8a5ddbe8;hp=bdb12856a965ef14f86667265b80e5d70281c3b6;hpb=07827d1a82fb33262f686eda959857f0d28cd8fa;p=musl diff --git a/src/signal/sigqueue.c b/src/signal/sigqueue.c index bdb12856..b75f0c5c 100644 --- a/src/signal/sigqueue.c +++ b/src/signal/sigqueue.c @@ -1,8 +1,8 @@ #include #include #include -#include #include "syscall.h" +#include "pthread_impl.h" int sigqueue(pid_t pid, int sig, const union sigval value) { @@ -14,9 +14,9 @@ int sigqueue(pid_t pid, int sig, const union sigval value) si.si_code = SI_QUEUE; si.si_value = value; si.si_uid = getuid(); - pthread_sigmask(SIG_BLOCK, (void *)(uint64_t[1]){-1}, &set); + __block_app_sigs(&set); si.si_pid = getpid(); r = syscall(SYS_rt_sigqueueinfo, pid, sig, &si); - pthread_sigmask(SIG_SETMASK, &set, 0); + __restore_sigs(&set); return r; }