Ich versuche einen Signal-Handler zu implementieren. jeder Pthread ist mit Joinable erstellt und wird auf alle Signale mit sigprocmask blockiert.Prozess beendet, wenn signalisiert wird, dass ein PThread auf "Join" wartet
Das Problem tritt auf, wenn ich den Faden ein Signal von einem anderen Thread senden,
pthread_kill(_threads[threadIndex], SIGHALT);
Wenn der angerufene Pthread zu der Zeit auf pthread_join wartet das Signal gesendet wird, verwendet wird, wird die gesamte proccess immidiately beendet. Wenn der Thread jedoch nicht auf den Join wartet, ignoriert er das Signal wie erwartet. Irgendeine Idee, warum es passiert und wie man es ändert?
Vielen Dank!
Ist der Prozess beendet oder gibt 'Pthread_join' einen Fehlercode zurück, der die Ausführung des Programms beendet? – vhallac
Kennt jemand "SIGHALT"? Habe es nie gesehen. Ist es das gleiche wie 'SIGSTOP'? –
@Pavan Manjunath: Vielleicht ist es die deutsche Version von SIGSTOP? ;-) – alk