Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 412 → Rev 413

/SPARTAN/trunk/src/time/timeout.c
100,10 → 100,10
{
timeout_t *hlp;
link_t *l, *m;
pri_t pri;
ipl_t ipl;
__u64 sum;
 
pri = cpu_priority_high();
ipl = interrupts_disable();
spinlock_lock(&CPU->timeoutlock);
spinlock_lock(&t->lock);
 
152,7 → 152,7
 
spinlock_unlock(&t->lock);
spinlock_unlock(&CPU->timeoutlock);
cpu_priority_restore(pri);
interrupts_restore(ipl);
}
 
 
168,19 → 168,19
{
timeout_t *hlp;
link_t *l;
pri_t pri;
ipl_t ipl;
 
grab_locks:
pri = cpu_priority_high();
ipl = interrupts_disable();
spinlock_lock(&t->lock);
if (!t->cpu) {
spinlock_unlock(&t->lock);
cpu_priority_restore(pri);
interrupts_restore(ipl);
return false;
}
if (!spinlock_trylock(&t->cpu->timeoutlock)) {
spinlock_unlock(&t->lock);
cpu_priority_restore(pri);
interrupts_restore(ipl);
goto grab_locks;
}
203,6 → 203,6
timeout_reinitialize(t);
spinlock_unlock(&t->lock);
 
cpu_priority_restore(pri);
interrupts_restore(ipl);
return true;
}