signal oder wie bau ich einen timer



  • Hi!

    Ich brauch für ein Konsolenprogramm eine Art Timer, da habe ich die Funktionen setitimer, getitimer gefunden. Dafür muss man allerdings das Signal SIGALRM auf seine eigene Funktion umbiegen, die einen int als Parameter nimmt.

    Nun rufe ich aber setitimer aus einer Klasse auf und würde gerne noch ein paar Parameter mit an die Funktion übergeben(sonst bringt sie mir nicht viel), ich habe es als Zwischenlösung mit globalen Variablen gelöst, aber das ist absolut häßlich!

    Ich hoffe jemand kann mir einen anderen Vorschlag anbieten, entweder um die globalen Variablen zu eliminieren oder eine andere Art eines Timers.

    Danke im voraus
    KaPtainCugel



  • Ich würde mit einem separaten Thread (libpthreads) oder mit der (Linux-spezifischen) Funktion clone() arbeiten.

    Die Frage ist natürlich, was der Timer im "Hauptprogramm" bewirken soll.

    Martin



  • Danke schonmal für deine Antwort, werde mir das zuhause mal anschauen! Ansonsten guck ich mir auch mal boost::Threads an, die hab ich gestern gefunden.



  • ich würde das so lösen, dass ich ein Singleton schreibe, dass sich um den Timer kümmert und man kann Funktionen registrieren, die bei einem ALARM aufgerufen werden (am besten mit Hilfe der libsigc++ oder boost::signal )


Anmelden zum Antworten