Timeout auf SystemCall

jccTeq

Erfahrenes Mitglied
Hallo,

ich will unter Linux einen Timeout auf einen blockierenden Systemcall legen (genauer gesagt auf waitpid). Soll heißen, daß der Systemcall nach x Sekunden zurückkehrt, ob erfolgreich oder nicht... und ich muss danach unterscheiden können, ob der Timer abgelaufen ist oder der Systemcall erfolgreich war.

Wie geht sowas?

Danke
 
jccTeq hat gesagt.:
Hallo,
ich will unter Linux einen Timeout auf einen blockierenden Systemcall legen (genauer gesagt auf waitpid).
Wie geht sowas?
In dem man den Alarmtimer auf den Timeout setzt.
Code:
# include <signal.h>
...
(void)signal(SIGALRM, function);
...
alarm(TIMEOUT);
waitpid(PID,...);
...
void function(void)
{
...
}
 
Okay, hab ich gemacht, geht auch... 'ne einfachere (besser "kürzere") Lösung gips da nich oder?

Danke!
 
Zurück