Re: ssh und maximale Laufzeit definieren

Autor: Alexander Holler <holler_at_ahsoftware.de>
Datum: Wed, 22 Oct 2008 22:09:37 +0200
Hallo Michael,

habe wohl deine letzte Mail falsch verstanden.

Hier die richtige Antwort:

> 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 zurückgeliefert.

D.h. etwa so:
---------------------------------
#include <signal.h>

typedef void (*sighandler_t)(int);

sighandler_t old_handler = 0;

void sighandler(int sig)
{
     // irgendwas
     if( old_handler )
         old_handler(sig);
}

int main(void)
{
     // irgendwas
     old_handler = signal(SIGALRM, sighandler);
     // noch etwas
     return 0;
}
---------------------------------

Gruss,

Alexander


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

Dieses Archiv wurde generiert von hypermail 2.2.0 : 22.10.2008 CEST