The following example shows how to generate and use a signal
mask that blocks only the SIGINT signal from delivery:
#include <signal.h>
int return_value;
sigset_t newset;
. . .
sigemptyset(&newset);
sigaddset(&newset, SIGINT);
return_value = sigprocmask (SIG_SETMASK, &newset, NULL);