X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=src%2Fkernel%2Fao_task.c;h=5b8f9356e922dbe17e839402e862beafab56911b;hp=03d69caab88906ca573ebd8483f3548139625c29;hb=974aaf73cbb720f1b1183cc239001528b6c7a5b9;hpb=a7e0bb5eb661cfde31c383d605cb9cb8ca568bc7 diff --git a/src/kernel/ao_task.c b/src/kernel/ao_task.c index 03d69caa..5b8f9356 100644 --- a/src/kernel/ao_task.c +++ b/src/kernel/ao_task.c @@ -460,11 +460,11 @@ ao_sleep_for(__xdata void *wchan, uint16_t timeout) if (timeout) { #if HAS_TASK_QUEUE uint32_t flags; + flags = ao_arch_irqsave(); +#endif /* Make sure we sleep *at least* delay ticks, which means adding * one to account for the fact that we may be close to the next tick */ - flags = ao_arch_irqsave(); -#endif if (!(ao_cur_task->alarm = ao_time() + timeout + 1)) ao_cur_task->alarm = 1; #if HAS_TASK_QUEUE