comment about sched() saving/restoring cpu->intena
This commit is contained in:
parent
4b2152cc2d
commit
bc8221a59c
7
proc.c
7
proc.c
|
@ -302,7 +302,12 @@ scheduler(void)
|
|||
}
|
||||
|
||||
// Enter scheduler. Must hold only ptable.lock
|
||||
// and have changed proc->state.
|
||||
// and have changed proc->state. Saves and restores
|
||||
// intena because intena is a property of this
|
||||
// kernel thread, not this CPU. It should
|
||||
// be proc->intena and proc->ncli, but that would
|
||||
// break in the few places where a lock is held but
|
||||
// there's no process.
|
||||
void
|
||||
sched(void)
|
||||
{
|
||||
|
|
|
@ -102,8 +102,9 @@ pushcli(void)
|
|||
|
||||
eflags = readeflags();
|
||||
cli();
|
||||
if(cpu->ncli++ == 0)
|
||||
if(cpu->ncli == 0)
|
||||
cpu->intena = eflags & FL_IF;
|
||||
cpu->ncli += 1;
|
||||
}
|
||||
|
||||
void
|
||||
|
|
Loading…
Reference in a new issue