Annotation of libaitsched/example/test_time.c, revision 1.1.2.2

1.1.2.1   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/socket.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 };
1.1.2.2 ! misho      50: //     struct timespec p = { 0, 10000000 };
1.1.2.1   misho      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: 
1.1.2.2 ! misho      88: //     schedPolling(root, &p, NULL);
1.1.2.1   misho      89:        schedRun(root, &Kill);
                     90:        schedEnd(&root);
                     91:        return 0;
                     92: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>