1#include <signal.h>
2#include <string.h>
3#include <unistd.h>
4
5int sigqueue(pid_t pid, int sig, const union sigval value) {
6    siginfo_t si;
7    memset(&si, 0, sizeof si);
8    si.si_signo = sig;
9    si.si_code = SI_QUEUE;
10    si.si_value = value;
11    si.si_uid = getuid();
12    si.si_pid = getpid();
13    return 0;
14}
15