On 2006-03-22, Grant Edwards <gra...@visi.com> wrote:

It would be good to add a note to the manual section for 
_BIS_SR_IRQ() and _BIC_SR_IRQ() explaining that they _must_ be
called from the "top-level" of an ISR.  They must be called
directly by the function which was declared as an interrupt
handler.

The following will compile without warnings but will not work:

inline static inline void handler1(void)
{
  if (someCondition)
    _BIC_SR_IRQ(CPUOFF);
}

interrupt(PORT2_VECTOR) port2InterruptHandler(void)
{
if (flag1)
  handler1();
if (flag2)
  hanlder2();
}

-- 
Grant Edwards                   grante             Yow!  My mind is a potato
                                  at               field...
                               visi.com            


Reply via email to