в миниксе 3.1.2a я добавил атрибутгашиш» в конце структура процесса
struct proc{
.
.
int p_endpoint; /* endpoint number, generation-aware */
#if DEBUG_SCHED_CHECK
int p_ready, p_found;
#endif
*int hash;*
}
затем в main.c в главный() я инициализировал это:
for (rp = BEG_PROC_ADDR, i = -NR_TASKS; rp < END_PROC_ADDR; ++rp, ++i) {
rp->p_rts_flags = SLOT_FREE; /* initialize free slot */
rp->p_nr = i; /* proc number from ptr */
rp->p_endpoint = _ENDPOINT(0, rp->p_nr); /* generation no. 0 */
(pproc_addr + NR_TASKS)[i] = rp; /* proc ptr from number */
rp->hash=1;
}
и так восстановить без проблем,
Сейчас в proc.c,в pick_proc () ,если я пытаюсь написать код, который устанавливает значение «хэш», как:
if(hash==1)
hash=0;
сейчас я перепробовал все варианты компиляции
make new world
make fresh install
make clean hdboot
make image
но проблема все еще произошла, когда я перезагружаюсь, это зависает, как показано:
но если убрать строку
hash=0;
работает нормально
,поэтому, пожалуйста, любая помощь, я буду признателен
Задача ещё не решена.