+
+ {
+ int selerr = 0;
+ while (active) {
+ if (!sel_select(sel))
+ selerr = 0;
+ else {
+ fw_log(-1, "error from select: %s", strerror(errno));
+ selerr++;
+ if (selerr > 8) {
+ fw_log(-1, "too many consecutive select errors: bailing out");
+ exit(EXIT_FAILURE);
+ }
+ }
+ }
+ }
+