sigalrm
struct sigaction sa = { .sa_handler = sigalrm };
(void) signal(SIGALRM, sigalrm);
extern void sigalrm();
signal(SIGALRM, sigalrm);
static void sigalrm(int s UNUSED);
SIGTYPE sigalrm(int signo);
signal(SIGALRM, sigalrm); /* that can cause hanging in read() */
signal(SIGALRM, sigalrm);
sigalrm = 1;
if (sigalrm || sigint)
if (sigalrm || sigint)
sigalrm = siginfo = sigint = 0;
if (!sigalrm)
sigalrm = ferror(f) && errno == ETIMEDOUT;
if (sigalrm)
if (!sigalrm) {
if (sigalrm && us.size == -1) {
static int sigalrm; /* SIGALRM received */