Re: libaio asynchronous syscall io_getevents blocks on error

From: Jeff Moyer
Date: Tue Oct 20 2009 - 18:25:31 EST


Zubin Dittia <zubin@xxxxxxxxxx> writes:

> I'm writing a program that uses the kernel's io_submit/io_getevents
> system calls. ÂWhat I would like to be able to do is submit N
> operations for i/o on different files, and then call io_getevents with
> min_nr = nr = N and a timeout of NULL, so that I can block until all N
> operations have completed. ÂThis works great, except when one of the
> operations has an error (eg., if one of the descriptors is invalid).
> In this case, the call to io_getevents appears to block indefinitely.
> Shouldn't an error on one of the submitted operations count as a
> completion event for that operation, so I can check the error code
> when the call returns? ÂAny help would be appreciated.

Did you check the return value of io_submit?

Cheers,
Jeff
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/