Annotation of xinu/sys/chprio.c, revision 1.1.1.1

1.1       root        1: /* chprio.c - chprio */
                      2: 
                      3: #include <conf.h>
                      4: #include <kernel.h>
                      5: #include <proc.h>
                      6: 
                      7: /*------------------------------------------------------------------------
                      8:  * chprio  --  change the scheduling priority of a process
                      9:  *------------------------------------------------------------------------
                     10:  */
                     11: SYSCALL chprio(pid,newprio)
                     12:        int     pid;
                     13:        int     newprio;                /* newprio > 0                  */
                     14: {
                     15:        int     oldprio;
                     16:        struct  pentry  *pptr;
                     17:         PStype  ps;
                     18: 
                     19:        disable(ps);
                     20:        if (isbadpid(pid) || newprio<=0 ||
                     21:            (pptr = &proctab[pid])->pstate == PRFREE) {
                     22:                restore(ps);
                     23:                return(SYSERR);
                     24:        }
                     25:        oldprio = pptr->pprio;
                     26:        pptr->pprio = newprio;
                     27:        switch (pptr->pstate) {
                     28:        case PRREADY:
                     29:                insert( dequeue(pid), rdyhead, newprio);
                     30:        case PRCURR:
                     31:                resched();
                     32:        default:
                     33:                break;
                     34:        }
                     35:        restore(ps);
                     36:        return(oldprio);
                     37: }

unix.superglobalmegacorp.com

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