1 int main(int argc, char *argv[], char *envp[])
3 char buffer[MAXLINE+1];
6 int signo = SIGRTMIN+1;
8 struct sigaction new_handl, old_handl;
9 sigemptyset(&new_handl.sa_mask);
10 new_handl.sa_sigaction = sig_handler;
11 new_handl.sa_flags=SA_SIGINFO;
12 /* change action for signo signal */
13 sigaction(signo, &new_handl, &old_handl);
15 nread = read(STDIN_FILENO, buffer, MAXLINE);
17 printf("Errore in lettura: %s\n", strerror(errno));
21 value.sival_int = strtol(buffer, NULL, 10);
22 if (value.sival_int > 0) {
23 sigqueue(getpid(), signo, value);
25 printf("Ignoring invalid input\n");