From 4da28a490bc322423d9b26de8abe377965666ef9 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 4 Jan 2006 19:34:40 +0000 Subject: [PATCH] Test for lio_listio returning an error for LIO_WAIT if an IO request failed. --- rt/tst-aio8.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 rt/tst-aio8.c diff --git a/rt/tst-aio8.c b/rt/tst-aio8.c new file mode 100644 index 0000000..531a08a --- /dev/null +++ b/rt/tst-aio8.c @@ -0,0 +1,38 @@ +#include +#include +#include +#include +#include +#include + +static int +do_test (void) +{ + int fd = open ("/dev/full", O_RDWR); + if (fd == -1) + { + puts ("could not open /dev/full"); + return 0; + } + + struct aiocb req; + req.aio_fildes = fd; + req.aio_lio_opcode = LIO_WRITE; + req.aio_reqprio = 0; + req.aio_buf = (void *) "hello"; + req.aio_nbytes = 5; + req.aio_sigevent.sigev_notify = SIGEV_NONE; + + struct aiocb *list[1]; + list[0] = &req; + + int r = lio_listio (LIO_WAIT, list, 1, NULL); + int e = errno; + + printf ("r = %d, e = %d (%s)\n", r, e, strerror (e)); + + return r != -1 || e != EIO; +} + +#define TEST_FUNCTION do_test () +#include "../test-skeleton.c" -- 2.7.4