#define FD_POLL_DATA (FD_POLL_IN | FD_POLL_OUT)
#define FD_POLL_STICKY (FD_POLL_ERR | FD_POLL_HUP)
-/* flags that an I/O callback may return */
-#define FD_WAIT_READ 0x01
-#define FD_WAIT_WRITE 0x02
-#define FD_WAIT_BOTH (FD_WAIT_READ|FD_WAIT_WRITE)
-
/* bit values for fdtab[fd]->flags. Most of them are used to hold a value
* consecutive to a behaviour change.
*/
if ((eo & FD_EV_MASK_W) == FD_EV_SPEC_W)
fdtab[fd].ev |= FD_POLL_OUT;
- if (fdtab[fd].iocb && fdtab[fd].owner && fdtab[fd].ev) {
- int wait = fdtab[fd].iocb(fd);
-
- /* FIXME: warning, this will not work if both old and new
- * callbacks are used at the same time ! This is only a
- * temporary measure during the migration.
- */
- if (wait & FD_WAIT_READ)
- fdtab[fd].spec.e ^= (FD_EV_WAIT_R ^ FD_EV_SPEC_R);
-
- if (wait & FD_WAIT_WRITE)
- fdtab[fd].spec.e ^= (FD_EV_WAIT_W ^ FD_EV_SPEC_W);
- }
+ if (fdtab[fd].iocb && fdtab[fd].owner && fdtab[fd].ev)
+ fdtab[fd].iocb(fd);
/* one callback might already have closed the fd by itself */
if (!fdtab[fd].owner)