Xinu7/src/serve11/sys/ready.c
/* ready.c - ready */
#include <conf.h>
#include <kernel.h>
#include <proc.h>
#include <q.h>
/*------------------------------------------------------------------------
* ready -- make a process eligible for CPU service
*------------------------------------------------------------------------
*/
int ready (pid, resch)
int pid; /* id of process to make ready */
int resch; /* reschedule afterward? */
{
register struct pentry *pptr;
if (isbadpid(pid))
return(SYSERR);
pptr = &proctab[pid];
pptr->pstate = PRREADY;
insert(pid,rdyhead,pptr->pprio);
if (resch)
resched();
return(OK);
}