Annotation of xinu/sys/insert.c, revision 1.1

1.1     ! root        1: /* insert.c  -  insert */
        !             2: 
        !             3: #include <conf.h>
        !             4: #include <kernel.h>
        !             5: #include <q.h>
        !             6: 
        !             7: /*------------------------------------------------------------------------
        !             8:  * insert.c  --  insert an process into a q list in key order
        !             9:  *------------------------------------------------------------------------
        !            10:  */
        !            11: int    insert(proc, head, key)
        !            12:        int     proc;                   /* process to insert            */
        !            13:        int     head;                   /* q index of head of list      */
        !            14:        int     key;                    /* key to use for this process  */
        !            15: {
        !            16:        int     next;                   /* runs through list            */
        !            17:        int     prev;
        !            18: 
        !            19:        next = q[head].qnext;
        !            20:        while (q[next].qkey < key)      /* tail has MAXSHORT as key     */
        !            21:                next = q[next].qnext;
        !            22:        q[proc].qnext = next;
        !            23:        q[proc].qprev = prev = q[next].qprev;
        !            24:        q[proc].qkey  = key;
        !            25:        q[prev].qnext = proc;
        !            26:        q[next].qprev = proc;
        !            27:        return(OK);
        !            28: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.