--- libaitsched/example/test.c 2012/05/10 14:23:32 1.4.4.1 +++ libaitsched/example/test.c 2012/05/31 22:14:22 1.5.6.3 @@ -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 %ld sec::\n", (intptr_t) TASK_ARG(arg)); + printf("Timer %p sec::\n", TASK_ARG(arg)); return NULL; } @@ -46,6 +47,15 @@ void *once(sched_task_t *arg) return NULL; } +void sig(int s) +{ + switch (s) { + case SIGTERM: + Kill++; + break; + } +} + int main(int argc, char **argv) { @@ -53,8 +63,13 @@ main(int argc, char **argv) int f; struct sockaddr_in sin; struct timespec ts = { 20, 0 }; - struct timespec p = { 0, 10000000 }; +// 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; @@ -71,12 +86,12 @@ main(int argc, char **argv) return 1; } - if (!schedTimer(root, timer, (void*) ts.tv_sec, ts, NULL, 0)) { + if (!schedTimer(root, timer, (void*) (intptr_t) 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)) { + if (!schedTimer(root, timer, (void*) (intptr_t) ts.tv_sec, ts, NULL, 0)) { printf("Error:: #%d - %s\n", sched_GetErrno(), sched_GetError()); return 4; } else @@ -92,7 +107,7 @@ main(int argc, char **argv) return 3; } - if (!schedTimer(root, timer, (void*) ts.tv_sec, ts, NULL, 0)) { + if (!schedTimer(root, timer, (void*) (intptr_t) ts.tv_sec, ts, NULL, 0)) { printf("Error:: #%d - %s\n", sched_GetErrno(), sched_GetError()); return 4; } @@ -109,7 +124,7 @@ main(int argc, char **argv) schedCallOnce(root, once, "000000", 42, NULL, 0); - schedPolling(root, &p, NULL); +// schedPolling(root, &p, NULL); schedRun(root, &Kill); schedEnd(&root);