SignalHandling

Hey zusammen,
ich würde gerne auf das Abbruchsignal(ctrl+c) reagieren indem ich erst alle vorhanden Streams(also vor allokierter Speicher) schließe und dann erst das Programm beende.
Aufruf in main
Code:
signal(SIGINT, ctrlc);

die Funktion ctrlc

Code:
void ctrl()
{
      fclose(fd);
      closedir(dp);
}

schreibt mir allerdings einen Fehler weil die Streams etc. ja nicht in der Funktion initialisiert werden.

Was wäre eine bessere Methode dies zu realisieren?
 
Zurück
Oben