- return syscall3(__NR_rt_sigqueueinfo, pid, sig, (long)&si);
+ pthread_sigmask(SIG_BLOCK, (void *)(uint64_t[1]){-1}, &set);
+ si.si_pid = getpid();
+ r = syscall(SYS_rt_sigqueueinfo, pid, sig, &si);
+ pthread_sigmask(SIG_SETMASK, &set, 0);
+ return r;