|
|
| version 1.3.4.2, 2012/01/24 14:04:58 | version 1.4.4.2, 2012/05/10 15:30:18 |
|---|---|
| Line 1 | Line 1 |
| #include <stdio.h> | #include <stdio.h> |
| #include <unistd.h> | #include <unistd.h> |
| #include <fcntl.h> | #include <fcntl.h> |
| #include <signal.h> | |
| #include <sys/types.h> | #include <sys/types.h> |
| #include <sys/stat.h> | #include <sys/stat.h> |
| #include <sys/socket.h> | #include <sys/socket.h> |
| Line 23 void *eventlo(sched_task_t *arg) | Line 24 void *eventlo(sched_task_t *arg) |
| void *timer(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; | return NULL; |
| } | } |
| Line 46 void *once(sched_task_t *arg) | Line 47 void *once(sched_task_t *arg) |
| return NULL; | return NULL; |
| } | } |
| void sig(int s) | |
| { | |
| switch (s) { | |
| case SIGTERM: | |
| Kill++; | |
| break; | |
| } | |
| } | |
| int | int |
| main(int argc, char **argv) | main(int argc, char **argv) |
| { | { |
| sched_root_task_t *root; | sched_root_task_t *root; |
| int f; | int f; |
| struct sockaddr_in sin; | 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); | f = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); |
| if (f == -1) | if (f == -1) |
| return 1; | return 1; |
| Line 70 main(int argc, char **argv) | Line 86 main(int argc, char **argv) |
| return 1; | 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)) { | if (!schedEvent(root, event, "piuk", 1234, NULL, 0)) { |
| printf("Error:: #%d - %s\n", sched_GetErrno(), sched_GetError()); | printf("Error:: #%d - %s\n", sched_GetErrno(), sched_GetError()); |
| return 2; | return 2; |
| Line 80 main(int argc, char **argv) | Line 107 main(int argc, char **argv) |
| return 3; | 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()); | printf("Error:: #%d - %s\n", sched_GetErrno(), sched_GetError()); |
| return 4; | return 4; |
| } | } |
| Line 97 main(int argc, char **argv) | Line 124 main(int argc, char **argv) |
| schedCallOnce(root, once, "000000", 42, NULL, 0); | schedCallOnce(root, once, "000000", 42, NULL, 0); |
| schedPolling(root, &p, NULL); | |
| schedRun(root, &Kill); | schedRun(root, &Kill); |
| schedEnd(&root); | schedEnd(&root); |