Consider the following code in chain.c: void _Chain_Append( Chain_Control *the_chain, Chain_Node *node ) { ISR_Level level; _ISR_Disable( level ); _Chain_Append_unprotected( the_chain, node ); _ISR_Enable( level ); } The parameter level has no initial value when _ISR_Disable is called. Rong