Ich habe versucht, die Feinheiten der Interaktion von POSIX-Threads und POSIX-Signalen zu verstehen. Insbesondere interessiert mich:
- Wie lässt sich am besten steuern, an welchen Thread ein Signal gesendet wird (vorausgesetzt, es ist überhaupt nicht schwerwiegend)?
- Was ist der beste Weg, um einem anderen Thread (der möglicherweise gerade beschäftigt ist) mitzuteilen, dass das Signal angekommen ist? (Ich weiß bereits, dass es eine schlechte Idee ist, pthread-Bedingungsvariablen von einem Signalhandler zu verwenden.)
- Wie kann ich sicher damit umgehen, dass die Information, dass ein Signal aufgetreten ist, an andere Threads weitergegeben wird? Muss dies im Signalhandler geschehen? (Ich möchte im Allgemeinen die anderen Threads nicht beenden; ich brauche einen weitaus subtileren Ansatz.)
Als Referenz darüber, warum ich das möchte, untersuche ich, wie das TclX- Paket in Support-Threads konvertiert oder aufgeteilt werden kann und zumindest einige nützliche Teile Threads unterstützen. Signale sind einer der Teile, die von besonderem Interesse sind.