--- libaitsched/example/test.c 2011/09/09 14:47:41 1.1.2.4 +++ libaitsched/example/test.c 2012/05/10 14:23:32 1.4.4.1 @@ -7,6 +7,8 @@ #include #include +intptr_t Kill; + void *event(sched_task_t *arg) { printf("Event::\n"); @@ -21,13 +23,14 @@ void *eventlo(sched_task_t *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(sched_task_t *arg) { printf("read::\n"); + Kill++; 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,34 +71,46 @@ 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, NULL); + schedPolling(root, &p, NULL); + schedRun(root, &Kill); schedEnd(&root); close(f);