signal_handler & suspend

20/03/2011 - 19:57 von JimmyO | Report spam
Hallo,

ist es eigentlich erlaubt, im signal_handler ein
suspend zu machen & ev. den task dann
im signal_handler zu terminieren.
Danke
Jimmy
 

Lesen sie die antworten

#1 Rainer Weikusat
21/03/2011 - 14:57 | Warnen spam
JimmyO writes:
ist es eigentlich erlaubt, im signal_handler ein
suspend zu machen & ev. den task dann
im signal_handler zu terminieren.



sigsuspend ist 'async signal safe', sollte also in einem signal
handler problemlos benutzbar sein. exit ist das allerdings nicht, dh
wenn ein Program 'regulaer' (einschliesslich flushen von stdio-Puffern
und Ausfuehren von atexit-Handlern) beendet werden soll, muss
sichergestellt sein, das ein gegebenenfalls unterbrochener thread
nicht bei der Ausfuehrung einer anderen 'unsicheren' Funktion
unterbrochen wurde sonst ist das Verhalten undefiniert. Eine nicht
ganz unwahrscheinliche praktische Konsequenz waeren gelegentliche
deadlocks innerhalb des stdio-Codes.

Ähnliche fragen