X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=listati%2Fselect_race.c;fp=listati%2Fselect_race.c;h=91509b56e0e5b885fddf3efbc749dab592d4c3b6;hp=0000000000000000000000000000000000000000;hb=271b1b8bf70e62b5ab4457895664400ff6f51973;hpb=0c3c06a023684951f7f1e189d270cf322c0dfe31 diff --git a/listati/select_race.c b/listati/select_race.c new file mode 100644 index 0000000..91509b5 --- /dev/null +++ b/listati/select_race.c @@ -0,0 +1,11 @@ +while (1) { + sigprocmask(SIG_BLOCK, &newmask, &oldmask); + if (receive_signal != 0) handle_signal(); + sigprocmask(SIG_SETMASK, &oldmask, NULL); + n = select(nfd, rset, wset, eset, NULL); + if (n < 0) { + if (errno == EINTR) { + continue; + } + } else handle_filedata(); +}