Annotation of libaitsched/example/test_time.c, revision 1.2
1.2 ! misho 1: #include <stdio.h>
! 2: #include <unistd.h>
! 3: #include <fcntl.h>
! 4: #include <sys/types.h>
! 5: #include <sys/stat.h>
! 6: #include <sys/signal.h>
! 7: #include <netinet/in.h>
! 8: #include <aitsched.h>
! 9:
! 10: intptr_t Kill;
! 11:
! 12: void *event(sched_task_t *arg)
! 13: {
! 14: printf("Event::\n");
! 15: return NULL;
! 16: }
! 17:
! 18: void *eventlo(sched_task_t *arg)
! 19: {
! 20: printf("EventLOW::\n");
! 21: return NULL;
! 22: }
! 23:
! 24: void *timer(sched_task_t *arg)
! 25: {
! 26: printf("Timer %ld sec::\n", (intptr_t) TASK_ARG(arg));
! 27: return NULL;
! 28: }
! 29:
! 30: void *once(sched_task_t *arg)
! 31: {
! 32: printf("once::\n");
! 33: return NULL;
! 34: }
! 35:
! 36: void sig(int s)
! 37: {
! 38: switch (s) {
! 39: case SIGTERM:
! 40: Kill++;
! 41: break;
! 42: }
! 43: }
! 44:
! 45: int
! 46: main(int argc, char **argv)
! 47: {
! 48: sched_root_task_t *root;
! 49: struct timespec ts = { 20, 0 };
! 50: // struct timespec p = { 0, 10000000 };
! 51:
! 52: signal(SIGTERM, sig);
! 53:
! 54: root = schedBegin();
! 55: if (!root) {
! 56: printf("Error:: #%d - %s\n", sched_GetErrno(), sched_GetError());
! 57: return 1;
! 58: }
! 59:
! 60: if (!schedTimer(root, timer, (void*) ts.tv_sec, ts, NULL, 0)) {
! 61: printf("Error:: #%d - %s\n", sched_GetErrno(), sched_GetError());
! 62: return 4;
! 63: } else
! 64: ts.tv_sec = 15;
! 65: if (!schedTimer(root, timer, (void*) ts.tv_sec, ts, NULL, 0)) {
! 66: printf("Error:: #%d - %s\n", sched_GetErrno(), sched_GetError());
! 67: return 4;
! 68: } else
! 69: ts.tv_sec = 10;
! 70:
! 71: if (!schedEvent(root, event, "piuk", 1234, NULL, 0)) {
! 72: printf("Error:: #%d - %s\n", sched_GetErrno(), sched_GetError());
! 73: return 2;
! 74: }
! 75:
! 76: if (!schedEventLo(root, eventlo, "piuk", 1111, NULL, 0)) {
! 77: printf("Error:: #%d - %s\n", sched_GetErrno(), sched_GetError());
! 78: return 3;
! 79: }
! 80:
! 81: if (!schedTimer(root, timer, (void*) ts.tv_sec, ts, NULL, 0)) {
! 82: printf("Error:: #%d - %s\n", sched_GetErrno(), sched_GetError());
! 83: return 4;
! 84: }
! 85:
! 86: schedCallOnce(root, once, "000000", 42, NULL, 0);
! 87:
! 88: printf("read_queue=%d timer_queue=%d\n",
! 89: ROOT_QUEUE_EMPTY(root, read), ROOT_QUEUE_EMPTY(root, timer));
! 90:
! 91: // schedPolling(root, &p, NULL);
! 92: schedRun(root, &Kill);
! 93: schedEnd(&root);
! 94: return 0;
! 95: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>