RTEMS PowerPC progress (Not).
Nick Thomas
nick.thomas at pixsan.com
Mon May 31 16:27:47 UTC 2010
> > I spoke too soon :( .
> > I have just seen the _Thread_Dispatch_disable_level go to -1 !
> >
> > Are there any conditions where _Thread_Dispatch_disable_level going
> negative
> > is valid?
> AFAIK _Thread_Dispatch_disable_level should NEVER get negative, so when
> you detect it negative, something has gone seriously wrong before.
> Unfortunately you can't be sure that things went wrong during the
> interrupt/dispatch where you detect that condition.
>
I have added an rtems_fatal_error_occurred(some_num) call in the
_Thread_Enable_dispatch in threadispatch.c .
The function normally looks like this:
void _Thread_Enable_dispatch( void )
{
if ( --_Thread_Dispatch_disable_level )
return;
_Thread_Dispatch();
}
Now, when _Thread_Dispatch_disable_level is zero on entry to this func, it
will stop, and through the call stack I can see how we got to where we are.
So far, it has happened 6 times today, and each time it has come through
rtems_timer_server_fire_after() .
That can't be just coincidence - can it?
Regards
Nick
More information about the users
mailing list