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 zurueckgeliefert.
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/