Frage zu sigaction()
-
Was ich aus der man page nicht richtig rauslesen konnte, ist, was passiert, wenn nun ein Signal an ein Prozess gesendet wurde.
Ich wundere mich gerade, dass meine Threads allesamt wunderbar beenden.
Meine Threads laufen in einer Endlosschleife mit condition variable, die auf true ist, also while(cond). Das Einzige, was ich mache, wenn ein bestimmtes Signal geschickt wird, ist die condition auf false zu setzen und alle Threads beenden sich nahtlos und auch der Join im Hauptthread funktioniert wunderbar.Verstehe ich das richtig, dass lediglich kurz mein selbst implementierter Signalhandler aufgerufen wird und danach wird wieder ganz normal fortgefahren?!
Danke im Voraus!
L. G.
Steffo
-
Genau, wenn ein Prozess ein Signal bekommt wird der normale Kontrollfluss unterbrochen der Signalhandler wird aufgerufen und danach geht der normale Kontrollfluss weiter.(es sei denn der Signalhändler beendet den Prozess oder der Prozess wird vom BS beendet)
-
Super, das wollte ich wissen. THX!