infinite sleep after rtems_task_wake_after()
Juergen Zeller
juergen.zeller at argovision.de
Mon Mar 7 16:15:26 UTC 2005
I have a special problem with rtems 4.0.0 on a custom i386ex based
board. One task invokes rtems_task_wake_after (10) and after some time
this task stays in DELAYED state and doesn't get CPU Time anymore. I
found out that in the threads Watchdog_Control data the delta_interval
seems to be overflowed. My question to the specialists:
In watchdog.c -> _Watchdog_Tickle() I read the following code:
...
the_watchdog->delta_interval--;
if ( the_watchdog->delta_interval != 0 )
return;
...
How can we guarantee that the_watchdog->delta_interval is NOT zero at
function entry? I think this is a good place for an overflow, but I
can't believe that this is a bug. Please help me understand. Does
anybody have another idea, where and how this overflow could happen?
More information about the users
mailing list