version 1.6.8.4, 2012/08/01 22:20:49
|
version 1.6.8.5, 2012/08/02 11:37:08
|
Line 11
|
Line 11
|
#include <aitsched.h> |
#include <aitsched.h> |
|
|
intptr_t Kill; |
intptr_t Kill; |
|
struct iovec iv[3]; |
|
|
void *event(sched_task_t *arg) |
void *event(sched_task_t *arg) |
{ |
{ |
Line 82 void *aioread(sched_task_t *arg)
|
Line 83 void *aioread(sched_task_t *arg)
|
return NULL; |
return NULL; |
} |
} |
|
|
|
void *aiobulkread(sched_task_t *arg) |
|
{ |
|
struct iovec *iv = TASK_DATA(arg); |
|
register int i; |
|
|
|
printf("aioBULKread::\n"); |
|
for (i = 0; i < 3; i++) { |
|
printf("%d) [%d]=%s\n---\n", i, iv[i].iov_len, (char*) iv[i].iov_base); |
|
free(iv[i].iov_base); |
|
} |
|
|
|
return NULL; |
|
} |
|
|
|
void *aiobulkwrite(sched_task_t *arg) |
|
{ |
|
struct iovec *iv = TASK_DATA(arg); |
|
register int i; |
|
|
|
printf("aioBULKwrite::\n"); |
|
for (i = 0; i < 3; i++) { |
|
printf("%d) %d\n", i, iv[i].iov_len); |
|
free(iv[i].iov_base); |
|
} |
|
|
|
return NULL; |
|
} |
|
|
void sig(int s) |
void sig(int s) |
{ |
{ |
switch (s) { |
switch (s) { |
Line 101 main(int argc, char **argv)
|
Line 130 main(int argc, char **argv)
|
// struct timespec p = { 0, 10000000 }; |
// struct timespec p = { 0, 10000000 }; |
struct sigaction sa; |
struct sigaction sa; |
char *ole = malloc(BUFSIZ); |
char *ole = malloc(BUFSIZ); |
|
register int i; |
|
|
sa.sa_handler = sig; |
sa.sa_handler = sig; |
sigemptyset(&sa.sa_mask); |
sigemptyset(&sa.sa_mask); |
Line 166 main(int argc, char **argv)
|
Line 196 main(int argc, char **argv)
|
if (!schedAIORead(root, aioread, (void*) f, fd, ole, BUFSIZ)) |
if (!schedAIORead(root, aioread, (void*) f, fd, ole, BUFSIZ)) |
printf("Warning:: #%d - %s\n", sched_GetErrno(), sched_GetError()); |
printf("Warning:: #%d - %s\n", sched_GetErrno(), sched_GetError()); |
|
|
|
|
|
lseek(fd, 0, SEEK_SET); |
|
iv[0].iov_len = 5; |
|
iv[1].iov_len = 2; |
|
iv[2].iov_len = 50; |
|
for (i = 0; i < 3; i++) |
|
iv[i].iov_base = malloc(iv[i].iov_len); |
|
if (!schedLIORead(root, aiobulkread, NULL, fd, iv, 3)) |
|
printf("Warning:: #%d - %s\n", sched_GetErrno(), sched_GetError()); |
|
|
|
for (i = 0; i < 3; i++) { |
|
iv[i].iov_len = 100; |
|
iv[i].iov_base = malloc(iv[i].iov_len); |
|
} |
|
strlcpy(iv[0].iov_base, "aaa\n", iv[0].iov_len); |
|
strlcpy(iv[1].iov_base, "bbbbb\n", iv[1].iov_len); |
|
strlcpy(iv[2].iov_base, "zzz\n", iv[2].iov_len); |
|
if (!schedLIOWrite(root, aiobulkwrite, NULL, fd, iv, 3)) |
|
printf("Warning:: #%d - %s\n", sched_GetErrno(), sched_GetError()); |
|
|
|
lseek(fd, 0, SEEK_SET); |
|
for (i = 0; i < 3; i++) { |
|
iv[i].iov_len = 4; |
|
iv[i].iov_base = malloc(iv[i].iov_len); |
|
} |
|
if (!schedLIORead(root, aiobulkread, NULL, fd, iv, 3)) |
|
printf("Warning:: #%d - %s\n", sched_GetErrno(), sched_GetError()); |
|
|
schedCallOnce(root, once, "000000", 42, NULL, 0); |
schedCallOnce(root, once, "000000", 42, NULL, 0); |
|
|
// schedPolling(root, &p, NULL); |
// schedPolling(root, &p, NULL); |
schedRun(root, &Kill); |
schedRun(root, &Kill); |
schedEnd(&root); |
schedEnd(&root); |
|
|
|
for (i = 0; i < 3; i++) |
|
free(iv[i].iov_base); |
|
|
close(fd); |
close(fd); |
close(f); |
close(f); |