summaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorJens Axboe <jens.axboe@oracle.com>2008-06-02 14:18:23 +0200
committerJens Axboe <jens.axboe@oracle.com>2008-06-02 14:18:23 +0200
commit0f09e829c3e1aa24d16059ab6665098fedf17c05 (patch)
treed82decf25b9119d8909de721d242a9ea3492be63 /engines
parenteef323596c6c9d39456aba10954bb47c21982d96 (diff)
downloadfio-0f09e829c3e1aa24d16059ab6665098fedf17c05.tar.gz
solarisaio: aiowait() can return (void *) -1 for error
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'engines')
-rw-r--r--engines/solarisaio.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/engines/solarisaio.c b/engines/solarisaio.c
index 0852cde4..f7f832b8 100644
--- a/engines/solarisaio.c
+++ b/engines/solarisaio.c
@@ -53,7 +53,14 @@ static int fio_solarisaio_getevents(struct thread_data *td, unsigned int min,
}
p = aiowait(&tv);
- if (p) {
+ if (p == (aio_result_t *) -1) {
+ int err = errno;
+
+ if (err == EINVAL)
+ break;
+ td_verror(td, err, "aiowait");
+ break;
+ } else if (p != NULL) {
io_u = container_of(p, struct io_u, resultp);
sd->aio_events[r++] = io_u;