PUBLIC int do_setpriority_ep() { register struct mproc *armp; int a_nr, resu; /* Ponteiro para o processo atual*/ register struct mproc *rmp = mp; /* Parametros da mensagem...*/ int alvoid = m_in.m1_i1; int novapri = m_in.m1_i2; /*Verifica se a prioridade é valida */ if (novapri < PRIO_MIN || novapri > PRIO_MAX) return -1; if((a_nr = proc_from_pid(alvoid)) == -1) return 1; /*PID passado é invalido*/ armp = &mproc[a_nr]; if(&mproc[armp->mp_parent] != rmp) return 2; /*Alvo nao eh processo filho de rmp*/ /* Tenta pedir para o System Task mudar a prioridade do processo alvo. */ if(!(resu = sys_nice(a_nr, novapri))) { /*Deu tudo certo*/ return 0; } else return 1; /*PID passado é ínválido ou não pod e ter a prioridade modificada*/ }
long compat_sys_nice(u32 increment) { /* sign extend increment */ return sys_nice((int)increment); }
long compat_sys_nice(u32 increment) { return sys_nice((int)increment); }