Attivazione e disattivazione interrupt hw dentro ISR

Ciao raga,
volevo sapere se è possibile disabilitare tramite detachInterrupt l'interrupt precedentemente abilitato su quel pin, all'interno della propria ISR.

ad es:

voide setup()
{
   attachInterrupt(1, ISR_pippo, RISING);
}
ISR_pippo
{
   //fai qualcosa
   detachInterrupt(1);
}

e poi riabilitarlo nel loop con una specifica condizione.

Avevo provato ma non funzionava,
C'è un altro modo per fare una cosa simile?
Fatemi sapere.

Usa una variabile di stato e metti

ISR_pippo
{
  if (ENABLEISR)
  { 
    //fai qualcosa
  }
}

Se ENABLEISR è TRUE il codice è eseguito, altrimenti lo salta.
La variabile la gestisci nel loop o in qualunque altro punto del programma.