diff options
Diffstat (limited to 'libaio-0.3.109/harness/cases/11.t')
-rw-r--r-- | libaio-0.3.109/harness/cases/11.t | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/libaio-0.3.109/harness/cases/11.t b/libaio-0.3.109/harness/cases/11.t new file mode 100644 index 0000000..efcf6d4 --- /dev/null +++ b/libaio-0.3.109/harness/cases/11.t @@ -0,0 +1,39 @@ +/* 11.t - uses testdir/rwfile +- repeated read / write of same page (to check accounting) (11.t) +*/ +#include "aio_setup.h" + +#include <sys/time.h> +#include <sys/resource.h> +#include <unistd.h> + +int test_main(void) +{ +#define COUNT 1000000 +#define SIZE 256 + char *buf; + int rwfd; + int status = 0; + int i; + + rwfd = open("testdir/rwfile", O_RDWR|O_CREAT|O_TRUNC, 0600); + assert(rwfd != -1); + buf = malloc(SIZE); assert(buf != NULL); + memset(buf, 0, SIZE); + + for (i=0; i<COUNT; i++) { + status |= attempt_rw(rwfd, buf, SIZE, 0, WRITE_SILENT, SIZE); + if (status) + break; + } + printf("completed %d out of %d writes\n", i, COUNT); + for (i=0; i<COUNT; i++) { + status |= attempt_rw(rwfd, buf, SIZE, 0, READ_SILENT, SIZE); + if (status) + break; + } + printf("completed %d out of %d reads\n", i, COUNT); + + return status; +} + |