Das entprellt nicht. Wenn in deiner ISR ne Flanke auftaucht, wird das entsprechente IRQ-Flag gesetzt und du landest direkt nach Beenden der ISR wieder drin.

*räusper* und man sendet nichts von einer ISR aus oder wartet dort jahrelang rum...
Code:
static char volatile flanke;

SIGNAL(SIG_INTERRUPT0)
{
   flanke = 1;
}

....
   while (1) // main loop
   {
      flanke = 0;
      while (!flanke)
         ;

      mach was
   } // main loop