Problema con Serial.parseInt()

Ciao a tutti sto provando questo piccolo sketch per pilotare i pin di arduino tramite python ma ho un problema la seconda parte dello stesso

void setup() {
  // apriamo la porta seriale:
Serial.begin(9600);

}

void loop() {
  // controlliamo eventuali dati in arrivo sulla seriale:
  while (Serial.available() > 0) {
    // leggiamo l'intero in arrivo:
    int inDigit = Serial.parseInt();
    if (Serial.read() == '\n'){
      if (inDigit == 9876) {
        Serial.println("conferma ok");
        Serial.flush();
        set_pin_mode();
      }
      else {
        Serial.println("codice di verifica non valido");
      }
    }
  }
}

void set_pin_mode() {
  int pin = Serial.parseInt();
    Serial.println(pin);
}

La prima parte di fatto aspetta che dalla seriale arrivi qualcosa, se corrisponde all'IF va avanti ed è qui che ho problemi, praticamente il Serial.parseint() nella funzione "set_pin_mode" non aspetta che io digito il valore ma dopo circa 1 secondo prende come valore lo zero e lo assegna al pin, potete spiegarmi come risolvere?

Grazie

Da https://www.arduino.cc/en/Serial/ParseInt:

If no valid digits were read when the time-out (see Serial.setTimeout()) occurs, 0 is returned;

SukkoPera: Da https://www.arduino.cc/en/Serial/ParseInt:

Grazie provato e funziona.