--- libaitsched/example/test.c 2011/08/13 17:17:08 1.1.2.2 +++ libaitsched/example/test.c 2012/05/10 14:23:32 1.4.4.1 @@ -7,37 +7,40 @@ #include #include -void *event(void *arg) +intptr_t Kill; + +void *event(sched_task_t *arg) { printf("Event::\n"); return NULL; } -void *eventlo(void *arg) +void *eventlo(sched_task_t *arg) { printf("EventLOW::\n"); return NULL; } -void *timer(void *arg) +void *timer(sched_task_t *arg) { - printf("Timer 10sec::\n"); + printf("Timer %ld sec::\n", (intptr_t) TASK_ARG(arg)); return NULL; } -void *r(void *arg) +void *r(sched_task_t *arg) { printf("read::\n"); + Kill++; return NULL; } -void *w(void *arg) +void *w(sched_task_t *arg) { printf("write::\n"); return NULL; } -void *once(void *arg) +void *once(sched_task_t *arg) { printf("once::\n"); return NULL; @@ -49,6 +52,8 @@ main(int argc, char **argv) sched_root_task_t *root; int f; struct sockaddr_in sin; + struct timespec ts = { 20, 0 }; + struct timespec p = { 0, 10000000 }; f = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); if (f == -1) @@ -66,35 +71,47 @@ main(int argc, char **argv) return 1; } - if (!schedEvent(root, event, "piuk", 1234)) { + if (!schedTimer(root, timer, (void*) ts.tv_sec, ts, NULL, 0)) { printf("Error:: #%d - %s\n", sched_GetErrno(), sched_GetError()); + return 4; + } else + ts.tv_sec = 15; + if (!schedTimer(root, timer, (void*) ts.tv_sec, ts, NULL, 0)) { + printf("Error:: #%d - %s\n", sched_GetErrno(), sched_GetError()); + return 4; + } else + ts.tv_sec = 10; + + if (!schedEvent(root, event, "piuk", 1234, NULL, 0)) { + printf("Error:: #%d - %s\n", sched_GetErrno(), sched_GetError()); return 2; } - if (!schedEventLo(root, eventlo, "piuk", 1111)) { + if (!schedEventLo(root, eventlo, "piuk", 1111, NULL, 0)) { printf("Error:: #%d - %s\n", sched_GetErrno(), sched_GetError()); return 3; } - if (!schedTimer(root, timer, "blah", 10000000)) { + if (!schedTimer(root, timer, (void*) ts.tv_sec, ts, NULL, 0)) { printf("Error:: #%d - %s\n", sched_GetErrno(), sched_GetError()); return 4; } - if (!schedRead(root, r, "rrr", f)) { + if (!schedRead(root, r, "rrr", f, NULL, 0)) { printf("Error:: #%d - %s\n", sched_GetErrno(), sched_GetError()); return 5; } - if (!schedWrite(root, w, "www", f)) { + if (!schedWrite(root, w, "www", f, NULL, 0)) { printf("Error:: #%d - %s\n", sched_GetErrno(), sched_GetError()); return 6; } - schedCallOnce(root, once, "000000", 42); + schedCallOnce(root, once, "000000", 42, NULL, 0); - schedRun(root); - schedEnd(root); + schedPolling(root, &p, NULL); + schedRun(root, &Kill); + schedEnd(&root); close(f); return 0;