3.8.48 signaltest.c
3.8.48 signaltest.c
#include <stdio.h>
#include <signal.h>
#include <errno.h>
extern int errno;
main() {
int с, n;
char buf[100];
int onintr();
signal(SIGINT, onintr);
for (;;) {
n = read(0, buf, 100);
if (n > 0)
printf(buf);
else {
if (errno == EINTR) {
errno = 0;
printf("interrupt side %d ", n);
} else {
printf("true end of file %d ", n);
}
}
}
}
onintr() {
signal(SIGINT, onintr);
printf("interrupt ");
}
Данный текст является ознакомительным фрагментом.