--- libaitsched/example/test.c 2012/08/01 15:17:38 1.6.8.1 +++ libaitsched/example/test.c 2012/08/01 16:47:06 1.6.8.2 @@ -49,10 +49,15 @@ void *once(sched_task_t *arg) return NULL; } +void *aioread(sched_task_t *arg); void *aiowrite(sched_task_t *arg) { + char *ole = malloc(BUFSIZ); + printf("AIO write[%d]:: %d bytes\n", TASK_FD(arg), (int) TASK_DATLEN(arg)); free(TASK_DATA(arg)); + + schedAIORead(TASK_ROOT(arg), aioread, NULL, TASK_FD(arg), ole, BUFSIZ); return NULL; } @@ -60,13 +65,16 @@ void *aioread(sched_task_t *arg) { char *ole = malloc(BUFSIZ); - printf("AIO read[%d]:: %d bytes\n", TASK_FD(arg), (int) TASK_DATLEN(arg)); + printf("AIO read[%d]:: %d bytes\n%s\n-------\n", TASK_FD(arg), (int) TASK_DATLEN(arg), + (char*) TASK_DATA(arg)); - write((int) TASK_ARG(arg), TASK_DATA(arg), TASK_DATLEN(arg)); - free(TASK_DATA(arg)); + if (TASK_ARG(arg)) { + write((int) TASK_ARG(arg), TASK_DATA(arg), TASK_DATLEN(arg)); - schedAIOWrite(TASK_ROOT(arg), aiowrite, TASK_ARG(arg), TASK_FD(arg), ole, - strlcpy(ole, "BAHURA OR CULTURE .... A CULTURE OR BAHURA :-)\n", BUFSIZ)); + schedAIOWrite(TASK_ROOT(arg), aiowrite, TASK_ARG(arg), TASK_FD(arg), ole, + strlcpy(ole, "++++++BAHURA OR CULTURE .... A CULTURE OR BAHURA :-)\n", BUFSIZ)); + } + free(TASK_DATA(arg)); return NULL; } @@ -104,9 +112,10 @@ main(int argc, char **argv) if (bind(f, (struct sockaddr*) &sin, sizeof sin) == -1) return 1; - fd = open("test_aio.dat", O_CREAT | O_RDWR | O_TRUNC, 0644); + fd = open("test_aio.dat", O_CREAT | O_RDWR, 0644); if (fd == -1) return 1; + printf("fd=%d\n", fd); root = schedBegin(); if (!root) {