diff options
Diffstat (limited to 'rt/tst-aio8.c')
-rw-r--r-- | rt/tst-aio8.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/rt/tst-aio8.c b/rt/tst-aio8.c new file mode 100644 index 0000000000..b03639dabd --- /dev/null +++ b/rt/tst-aio8.c @@ -0,0 +1,39 @@ +#include <aio.h> +#include <errno.h> +#include <fcntl.h> +#include <stdio.h> +#include <string.h> +#include <unistd.h> + +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_offset = 0; + 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" |