Gå til innhold

[C++]: POSIX signal.h/time.h - dør timeren med tråden?


Anbefalte innlegg

Jeg har følgende spørsmål:

 

Jeg ønsker en timer som fyrer med jevne mellomrom. I ny og ne skal intervallet reduseres slik at timeren må starte på nytt.

 

Jeg lager timeren med timer_create() og setter den igang med timer_settime(). Jeg gir timer_create() en sigevent-struct som jeg ser kan få verdien SIGEV_THREAD, slik at funksjonen som kalles idet timeren fyrer av signalet sitt kjøres i en ny tråd.

 

På bakgrunn av beregninger som skjer i den tråden kan timeren måtte startes på nytt (med lavere verdier for intervallet). Vil denne timeren, gitt samme timer-id (det ligger lagret i klassen uansett), startet med timer_settime() dø når tråden returnerer, eller vil den leve videre slik jeg håper?

 

Litt grovt kodeeksempel (parametere stemmer ikke, det er for å illustrere):

 

main() {
sigevent.function = calculate();
timer_create( sigevent, timer );
timer_settime( itimerspec );
/* do things */
eventloop();
}

calculate() {
/* do things */
/* Runs in its own thread */
itimerspec.tv_ns -= 10000;
timer_settime( itimerspec );
}

 

Edit: Dersom noe er uklart, det trengs mer eksmpler eller noen formuleringer er dårlige er det selvfølgelig bare å presisere det.

Endret av Lycantrophe
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...