--- libaitsched/example/test.c 2012/01/24 21:59:46 1.4 +++ libaitsched/example/test.c 2012/05/14 12:09:12 1.5 @@ -1,6 +1,7 @@ #include #include #include +#include #include #include #include @@ -23,7 +24,7 @@ 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; } @@ -46,14 +47,29 @@ void *once(sched_task_t *arg) return NULL; } +void sig(int s) +{ + switch (s) { + case SIGTERM: + Kill++; + break; + } +} + int main(int argc, char **argv) { sched_root_task_t *root; int f; struct sockaddr_in sin; - struct timespec ts = { 10, 0 }; + struct timespec ts = { 20, 0 }; +// struct timespec p = { 0, 10000000 }; + struct sigaction sa; + sa.sa_handler = sig; + sigemptyset(&sa.sa_mask); + sigaction(SIGTERM, &sa, NULL); + f = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); if (f == -1) return 1; @@ -70,6 +86,17 @@ main(int argc, char **argv) return 1; } + 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; @@ -80,7 +107,7 @@ main(int argc, char **argv) return 3; } - if (!schedTimer(root, timer, "blah", ts, NULL, 0)) { + if (!schedTimer(root, timer, (void*) ts.tv_sec, ts, NULL, 0)) { printf("Error:: #%d - %s\n", sched_GetErrno(), sched_GetError()); return 4; } @@ -97,6 +124,7 @@ main(int argc, char **argv) schedCallOnce(root, once, "000000", 42, NULL, 0); +// schedPolling(root, &p, NULL); schedRun(root, &Kill); schedEnd(&root);