Aggiunti i due esempi di pselect lasciati indietro, specificato il
[gapil.git] / listati / select_race.c
diff --git a/listati/select_race.c b/listati/select_race.c
new file mode 100644 (file)
index 0000000..91509b5
--- /dev/null
@@ -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();
+}