Provided by: manpages-nl_20051127-1_all bug

NAAM

       getitimer, setitimer - krijg of zet waarde voor een interval wekker

OVERZICHT

       #include <sys/time.h>

       int getitimer(int welke, struct itimerval *waarde);
       int   setitimer(int  welke,  const  struct  itimerval  *waarde,  struct
              itimerval *owaarde);

BESCHRIJVING

       Het systeem levert elk proces drie interval wekkers, elk  aftellend  in
       een  apart  tijd-gebied.  Wanneer  een wekker afloopt wordt een signaal
       gezonden naar het proces, en de wekker wordt (eventueel) herstart.

       ITIMER_REAL    {wekker echt} telt af in echte tijd, en  levert  SIGALRM
                      bij aflopen.

       ITIMER_VIRTUAL {wekker  virtueel} telt alleen af als het proces aan het
                      uitvoeren is, en levert SIGVTALRM bij aflopen.

       ITIMER_PROF    {wekker meet} telt en af als het proces  loopt,  en  als
                      het  systeem  aan  het  uitvoeren is ten dienste van het
                      proces. Samen  met  ITIMER_VIRTUAL,  wordt  deze  wekker
                      gewoonlijk   gebruikt  om  de  tijd  verbruikt  door  de
                      toepassing in gebruikersruimte  en  in  kernelruimte  te
                      meten.  SIGPROF wordt afgeleverd bij aflopen.

       Wekker waardes worden bepaald door de volgende structuren:
            struct itimerval {
                struct timeval it_interval; /* {interval} volgende waarde */
                struct timeval it_value;    /* {waarde} huidige waarde */
            };
            struct timeval {
                long tv_sec;                /* {seconden} seconden */
                long tv_usec;               /* {useconden} microseconden */
            };

       Getitimer(2)  vult  de  structuur aangewezen door waarde met de huidige
       stand voor de  wekker  aangewezen  door  welke  (een  van  ITIMER_REAL,
       ITIMER_VIRTUAL,   of   ITIMER_PROF).    Het  onderdeel  it_value  wordt
       geschakeld naar de hoeveelheid tijd die nog rest op de wekker,  of  nul
       als de wekker uitgezet is. Net zo, it_interval wordt geschakeld naar de
       herstart waarde.  Setitimer(2) schakelt de aangewezen  wekker  naar  de
       waarde  in  waarde.   Als owaarde ongelijk-nul is, wordt de oude waarde
       van de wekker daar opgeslagen.

       Wekkers tellen af van it_value naar nul,  veroorzaken  een  signaal  en
       herstarten  met  it_interval.   Een  wekker  die naar nul geschakeld is
       (it_value is nul of de wekker loopt af en it_interval is nul) stopt.

       Beide, tv_sec en tv_usec zijn belangrijk bij het bepalen  van  de  duur
       van een wekker.

       Wekkers  zullen  nooit  aflopen  vóór het gevraagde tijdstip, in plaats
       daarvan  aflopend   een   korte,   gelijkblijvende   tijd   naderhands,
       afhankelijk van het scheidend vermogen van de systeem wekker (momenteel
       10ms). Bij aflopen zal een signaal opgewekt worden en de  wekker  wordt
       herstart.  Als  de  wekker  afloopt terwijl het proces bezig is (altijd
       ’waar’ voor ITIMER_VIRT) dan wordt het signaal onmiddellijk  afgeleverd
       als het opgewekt wordt. In het andere geval zal de aflevering een korte
       tijd verplaatst worden afhankelijk van de lasten op het systeem.

TERUGGEEF WAARDE

       Bij success wordt nul teruggegeven. Bij falen wordt -1 teruggegeven  en
       wordt errno naar behoren gezet.

FOUTEN

       EFAULT {fout} waarde of owaarde zijn geen geldige pointers.

       EINVAL {ongeldig}  welke  is  niet een van ITIMER_REAL, ITIMER_VIRT, of
              ITIMER_PROF.

VOLDOET AAN

       SVr4, 4.4BSD (deze aanroep verscheen voor het eerst in 4.2BSD).

ZIE OOK

       gettimeofday(2) {krijg  tijd  op  dag},  sigaction(2)  {signaal  daad},
       signal(2) {signaal}.

BUGS

       Onder   Linux   zijn   het   opwekken  en  afleveren  van  een  signaal
       verschillend, en voor elk signaal is  maar  één  wachtende  gebeurtenis
       toegestaan.   Het   is   daarom  denkbaar  dat  onder  ziekelijk  zware
       systeemlasten, ITIMER_REAL af zal lopen voordat  het  signaal  van  een
       eerdere  afloping  afgeleverd  is.  Het tweede signaal zal in dit geval
       verloren zijn.

VERTALING

       Dit is  een  handleiding  uit  manpages-dev  1.29.   Alles  wat  tussen
       ‘{’..‘}’ staat is aanvullende vertaling, en hoort niet bij de originele
       handleiding.  Email naar <manpages-nl@nl.linux.org>.

       $Id: setitimer.2,v 1.1.1.1 2004/03/21 21:02:25 cor Exp $