Philippe,

this bug was introduced with recent clock_event modifications:

--- ksrc/nucleus/timer.c        (Revision 2766)
+++ ksrc/nucleus/timer.c        (Arbeitskopie)
@@ -245,7 +245,7 @@ void xntimer_tick_aperiodic(void)
                           translates into precious microsecs on low-end hw. */
                        __setbits(sched->status, XNHTICK);
                        if (!testbits(timer->status, XNTIMER_PERIODIC))
-                               goto out;
+                               continue;
                }
 
                do {
@@ -254,7 +254,6 @@ void xntimer_tick_aperiodic(void)
                xntimer_enqueue_aperiodic(timer);
        }
 
-out:
        __clrbits(sched->status, XNINTCK);
 
        xntimer_next_local_shot(sched);


It doesn't look like typo, so what was your original intention? The current 
code at least fails to handle outstanding timers that are enqueued right behind 
a one-shot host-tick timer.

Jan

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core

Reply via email to