int offs = fd >> 3;
int mask = 1 << (fd & 7);
+ if (oev == nev)
+ return;
+
if (vec_max < (fd >> 5) + 1)
{
int new_max = (fd >> 5) + 1;
events |= byte_w & (1 << bit) ? EV_WRITE : 0;
if (events)
- fd_event (idx * 8 + bit, events);
+ fd_event (EV_A_ idx * 8 + bit, events);
}
}
}
else if (res < 0)
{
if (errno == EBADF)
- fd_ebadf ();
+ fd_ebadf (EV_A);
else if (errno == ENOMEM)
- fd_enomem ();
+ fd_enomem (EV_A);
}
}
method_modify = select_modify;
method_poll = select_poll;
+ vec_max = 0;
+ vec_ri = 0;
+ vec_ri = 0;
+ vec_wo = 0;
+ vec_wo = 0;
+
return EVMETHOD_SELECT;
}
+static void
+select_destroy (EV_P)
+{
+ free (vec_ri);
+ free (vec_ro);
+ free (vec_wi);
+ free (vec_wo);
+}
+
+