[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ssh und maximale Laufzeit definieren


Hallo Alex,

(wir haben das zwar im IRC bereits halbwegs angesprochen, aber ich moechte
nicht, dass im Mailarchiv Unsinn unwidersprochen stehen bleibt. ;-))

> >void sighandler (int sig) {
> ...
> >}
> >
> >int main () {
> ...
> >        signal(SIGALRM, sighandler);    // Signalhandler registrieren
> ...
> >    return 0;
> >}
> 
> Dein Signal-Handler "frisst" das Signal, damit wait es mitbekommt, musst 
> du den default-handler (bzw. den vorherigen) im signalhandler aufrufen. 
> Den bekommst du von signal zurueckgeliefert.

Das ist nicht der Grund, warum das wait() auf ein Signal hin nicht
abbricht. Es waere nach meinem Gefuehl auch irgendwie ein Bruch der Trennung
zwischen Kernelcode und Usercode, wenn ein Signalhandler solche Seiten-
effekte auf andere Systemcalls haette.
Ich verstehe es bis heute noch nicht so recht und habe auch im
FBSD Kernelcode herumgestochert. Was da eigentlich passiert ist mir
nachwievor schleierhaft.

Man kann sich natuerlich darauf einigen, dass Signale Teufelszeug sind. ;-)

Bye,
Michael

--
http://mailman.uugrn.org/mailman/listinfo/uugrn
Wiki: http://wiki.uugrn.org/wiki/UUGRN:Mailingliste
Archiv: http://lists.uugrn.org/