/* ojo2 v2 */ #include #include #include static int hit; void handler(int n) { printf("signaled\n"); hit = 1; } int main() { FILE * x; struct sigaction act; int rv; int v; memset(&act, 0 , sizeof(act)); act.sa_handler = handler; act.sa_flags = 0; sigaction(SIGINT, &act, NULL); //signal(SIGINT, handler); do { do { /* to jest fuj, co jesli nie ma pliku? trzeba cos wykombinowac */ printf("before\n"); x = fopen("ojo-pipa", "r"); printf("after\n"); } while (!x); while (1) { rv = fscanf(x, "%d", &v); printf("rv: %d, v: %d\n", rv, v); if (rv == -1 && hit) { rv = 0; } if (hit) hit = 0; if (rv == -1) break; } fclose(x); } while (1); return 0; }