Книга: UNIX — универсальная среда программирования

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 %dn", n);
   } else {
    printf("true end of file %dn", n);
   }
  }
 }
}
onintr() {
 signal(SIGINT, onintr);
 printf("interruptn");
}

Оглавление книги


Генерация: 2.786. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз