altos: rename ao_viterbi.c to ao_fec_rx.c
[fw/altos] / src / core / ao_task.c
index 32826114c4e5e855fa6e1159378c57321cb2c9ae..910f158785fbf894dc10415d2c8bce5cfdc1352e 100644 (file)
@@ -103,11 +103,8 @@ ao_yield(void) ao_arch_naked_define
 uint8_t
 ao_sleep(__xdata void *wchan)
 {
-       ao_arch_critical(
-               ao_cur_task->wchan = wchan;
-               );
+       ao_cur_task->wchan = wchan;
        ao_yield();
-       ao_cur_task->alarm = 0;
        if (ao_cur_task->wchan) {
                ao_cur_task->wchan = NULL;
                return 1;
@@ -135,6 +132,12 @@ ao_alarm(uint16_t delay)
                ao_cur_task->alarm = 1;
 }
 
+void
+ao_clear_alarm(void)
+{
+       ao_cur_task->alarm = 0;
+}
+
 void
 ao_exit(void)
 {
@@ -159,7 +162,7 @@ ao_task_info(void)
                task = ao_tasks[i];
                printf("%12s: wchan %04x\n",
                       task->name,
-                      (int16_t) task->wchan);
+                      (int) task->wchan);
        }
 }