RTEMS Posix lock failure
jharwell at swri.org
Fri Jan 3 22:32:57 UTC 2014
In my code, I have determined that after a small number of pthread mutex
RTEMS enters Internal_error_Occurred() from _CORE_mutex_Seize(). In
order for this to happen, I have
determined that the variable _Thread_Dispatch_disable_level must be > 0.
As I understand it, RTEMS should
take care of that when entering/leaving ISRs, but somehow it is not
being properly decremented ( I have observed
it to go to 2).
If in gdb I clear _Thread_Dispatch_disable_level upon the call to
_CORE_mutex_Seize() right before before my code
had been locking up, it continues on and runs smoothly, and all
subsequent lock/unlock calls work fine, implying
that it is some sort of one-time issue.
Any ideas on why this is happening?
I am using RTEMS 4.10.
High Reliability Software Section
Communications and Embedded Systems Department
john.harwell at swri.org
Southwest Research Institute (SwRI)
6220 Culebra Road, San Antonio, TX 78238-5166
More information about the users