1 #include <signal.h> 2 #include <string.h> 3 #include <unistd.h> 4 #include "syscall.h" 5 #include "pthread_impl.h" 6 #include <unsupported_api.h> 7 sigqueue(pid_t pid,int sig,const union sigval value)8int sigqueue(pid_t pid, int sig, const union sigval value) 9 { 10 UNSUPPORTED_API_VOID(LITEOS_A); 11 siginfo_t si; 12 sigset_t set; 13 int r; 14 memset(&si, 0, sizeof si); 15 si.si_signo = sig; 16 si.si_code = SI_QUEUE; 17 si.si_value = value; 18 si.si_uid = getuid(); 19 __block_app_sigs(&set); 20 si.si_pid = getpid(); 21 r = syscall(SYS_rt_sigqueueinfo, pid, sig, &si); 22 __restore_sigs(&set); 23 return r; 24 } 25