+ unsigned int i;
+
+ for (i = 0; i < num_fds; i++) {
+ struct io_conn *c;
+
+ /* Ignore listeners */
+ if (fds[i]->listener)
+ continue;
+
+ c = (void *)fds[i];
+ if (c->plan[IO_IN].status == IO_WAITING
+ && c->plan[IO_IN].u1.const_vp == wait)
+ io_do_wakeup(c, &c->plan[IO_IN]);
+
+ if (c->plan[IO_OUT].status == IO_WAITING
+ && c->plan[IO_OUT].u1.const_vp == wait)
+ io_do_wakeup(c, &c->plan[IO_OUT]);