Exemplo n.º 1
0
void
mutex_drop_priority(TCB *p_tcb, MTXCB *p_mtxcb)
{
	uint_t	newpri;

	if (MTX_CEILING(p_mtxcb)
					&& p_mtxcb->p_mtxinib->ceilpri == p_tcb->priority) {
		newpri = mutex_calc_priority(p_tcb);
		if (newpri != p_tcb->priority) {
			change_priority(p_tcb, newpri, true);
		}
	}
}
Exemplo n.º 2
0
/*
 *  要素優先度が下がる(または減る)場合の現在優先度変更処理
 */
Inline bool_t
mutex_drop_priority(TCB *p_tcb, uint_t oldpri)
{
	uint_t	newpri;

	if (oldpri == p_tcb->priority) {
		newpri = mutex_calc_priority(p_tcb);
		if (newpri != p_tcb->priority) {
			return(change_priority(p_tcb, newpri, true));
		}
	}
	return(false);
}