Crankshaft angle

Keep your ISR as short as possible... that is to say, set a flag inside your ISR that a TDC event has occurred, then outside the ISR, clear the flag and do the pulse stretching for the LED... in pseudo code:

void setup() {
  attachInterrupt(digitalPinToInterrupt(inputCrank), TDC, RISING);
}

void loop() {
  if (tdcFlag) { // check for flag being set in ISR
    tdcFlag = 0; // reset flag
    blinkLED();
  }
}

void TDC() {
  noInterrupts(); // suspend interrupts
  tdcFlag = 1;
  interrupts(); // resume interrupts
}