Эта программа генерирует SIGPIPE
после того, как она была отправлена на "head -n 1
" после случайного времени. Я понимаю, что, поскольку мы кормим больше "head -n 1
" после первой строки, мы ожидаем, что он сгенерирует SIGPIPE
, но вместо этого он сделает это случайным числом (обычно > 20 и 200) до exitting. Любая идея почему?
#include <stdio.h>
#include <stdlib.h>
main()
{
int i;
char *s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ\n";
i = 0;
while (1) {
fputs(s, stdout);
fflush(stdout);
fprintf(stderr, "Iteration %d done\n", i);
i++;
}
}
Это не домашнее задание, только что-то в моем профессоре отмечает, что я не понимаю.