Loading...
#include <signal.h> #include <string.h> #include <unistd.h> #include "syscall.h" #include "pthread_impl.h" int sigqueue(pid_t pid, int sig, const union sigval value) { siginfo_t si; sigset_t set; int r; memset(&si, 0, sizeof si); si.si_signo = sig; si.si_code = SI_QUEUE; si.si_value = value; si.si_uid = getuid(); __block_app_sigs(&set); si.si_pid = getpid(); r = syscall(SYS_rt_sigqueueinfo, pid, sig, &si); __restore_sigs(&set); return r; } |