Blown Stack in ISR, i960
pb at schenk.isar.de
Wed Jan 26 07:34:09 UTC 2000
you're right. Thank you and sorry for the silly question.
Conclusion: Never write emails after an 8 hour debugging session.
Gerwin Pfab <pb at schenk.isar.de> Dr. Schenk Industriemesstechnik GmbH
Dipl. Ing. Einsteinstrasse 37
Software Engineering D-82152 Martinsried
On 25 Jan 2000, Ian Lance Taylor wrote:
> Date: Tue, 25 Jan 2000 18:19:38 +0100 (MET)
> From: Gerwin Pfab <pb at schenk.isar.de>
> BUT: every call to rtems_task_resume() decrements
> Thread_dispatch_disable_level and will (when 0 is reached) call
> ThreadDispatch() (and _Context_Switch()) and therefore make the Context
> Switch on the Interrupt stack. So the task that Context_Switch switches to
> now runs with the Interrupt Stack????!
> What is wrong with this scenario or is this really possible?
> What's wrong with that scenario is that rtems_task_resume calls
> _Thread_Get, and _Thread_Get calls _Thread_Disable_dispatch. The call
> to _Thread_Enable_dispatch in rtems_task_resume enables the
> dispatching which it just disabled. If dispatching was already
> disabled when the call started, it remains disabled.
More information about the users