r20989: don't mark epoll as set until after the io_submit() succeeds
authorAndrew Tridgell <tridge@samba.org>
Wed, 24 Jan 2007 04:28:17 +0000 (04:28 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:44:18 +0000 (14:44 -0500)
this is part of the solution to LOCAL-EVENT on fort

source/lib/events/events_aio.c

index 327b36bcba12424d65c6ee34e00de3d0059dd302..cd3c32a9b8fef184588dfac62ab8b0c5062389bd 100644 (file)
@@ -204,10 +204,10 @@ static int setup_epoll_wait(struct aio_event_context *aio_ev)
        aio_ev->epoll_iocb->u.c.offset = -1;
        aio_ev->epoll_iocb->u.c.buf = aio_ev->epevent;
 
-       aio_ev->is_epoll_set = 1;
        if (io_submit(aio_ev->ioctx, 1, &aio_ev->epoll_iocb) != 1) {
                return -1;
        }
+       aio_ev->is_epoll_set = 1;
 
        return 0;
 }