_API_Mutex_Lock and interrupts
Jay Monkman
jtm at smoothsmoothie.com
Thu Jul 18 16:29:13 UTC 2002
I just tried updating to the 20020717 snapshot, and am getting funny
problems. I'm not sure but it looks like the source is
_API_Mutex_Lock.
#define _API_Mutex_Lock( _the_mutex ) \
do { \
ISR_Level _level; \
_CORE_mutex_Seize( \
&(_the_mutex)->Mutex, (_the_mutex)->Object.id, TRUE, 0, (_level)); \
} while (0)
_CORE_mutex_Seize starts with:
#define _CORE_mutex_Seize( \
_the_mutex, _id, _wait, _timeout, _level ) \
do { \
if ( _CORE_mutex_Seize_interrupt_trylock( _the_mutex, &_level ) )
And _CORE_mutex_Seize_interrupt_trylock makes several calls to
_ISR_Enable.
But, _level never gets initialized as far as I can see. Am I missing
something, or is the code wrong?
--
Jay Monkman The truth knocks on the door and you say "Go away, I'm
looking for the truth," and so it goes away. Puzzling.
- from _Zen_and_the_Art_of_Motorcycle_Maintenance_
More information about the users
mailing list