From: longInt (longint_at_yahoo.com)
Date: 16. Apr 2002
--- Juergen Linder <Juergen.Linder_at_gmx.de> wrote:
> ich habe folgendes Problem,
> ich möchte in einem C-Programm in bestimmten
> Abständen eine
> bestimmte Routine ausführen. Danach soll das
> Programm an der Stelle
> weiter machen, an der es unterbrochen wurde.
> Habe schon versucht über SIGALRM mit alarm().
Das ist prinzipiell eine sehr gute Idee !
> Aber der return in der Routine ging nicht zurück.
Wie return() ? Die Routine endet _ohne_ ein solches
(ein Return wird IMHO Dein komplettes Programm beenden
!?). Sinnvoll ist u.U. das (nochmalige) Setzen des
Signals auf Deine eigene Routine, da diese beim
naechsten Aufruf nicht mehr gueltig ist. Also einfach
das Signal auf Deine Routine umbiegen, ggf. den
alarm() definieren und in der Routine die Behandlung
durchfuehren und bei Bedarf innerhalb der Routine das
signal nochmals umbiegen und den Alarm setzen (auch
nur einmalig gueltig).
> Dann habe ich LONGJMP eingesetzt.
Warum einfach, wenn es auch schwierig geht ? Ohne
Ernst: Bleibe einfach an der Sache mit dem signal
dran, dasz funktioniert und ist zudem portabel ueber
verschiedene Unixe.
Noch Fragen ?
der Jan
__________________________________________________
Do You Yahoo!?
Yahoo! Tax Center - online filing with TurboTax
http://taxes.yahoo.com/
Dieses Archiv wurde generiert von hypermail 2.1.2 : 16. Apr 2002 CEST