• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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)8 int 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