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>