.\" Copyright 7/93 by Darren Senn .\" Based on a similar page Copyright 1992 by Rick Faith .\" May be freely distributed .\" Modified Tue Oct 22 00:22:35 EDT 1996 by Eric S. Raymond .TH GETITIMER 2 "5 Augustus 1993" "Linux 0.99.11" "Linux Programmeurs Handleiding" .SH NAAM getitimer, setitimer \- krijg of zet waarde voor een interval wekker .SH OVERZICHT .PD 0 .HP .B #include .sp .HP .B int getitimer(int .IB welke , .B struct itimerval .BI * waarde ); .HP .B int setitimer(int .IB welke , .B const struct itimerval .BI * waarde , .B struct itimerval .BI * owaarde ); .PD .SH 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. .TP 1.5i .B ITIMER_REAL {wekker echt} telt af in echte tijd, en levert .B SIGALRM bij aflopen. .TP .B ITIMER_VIRTUAL {wekker virtueel} telt alleen af als het proces aan het uitvoeren is, en levert .B SIGVTALRM bij aflopen. .TP .B 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 .BR ITIMER_VIRTUAL , wordt deze wekker gewoonlijk gebruikt om de tijd verbruikt door de toepassing in gebruikersruimte en in kernelruimte te meten. .B SIGPROF wordt afgeleverd bij aflopen. .LP Wekker waardes worden bepaald door de volgende structuren: .PD 0 .RS .5i .nf 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 */ }; .fi .RE .PD .LP .BR Getitimer (2) vult de structuur aangewezen door .I waarde met de huidige stand voor de wekker aangewezen door .I welke (een van .BR ITIMER_REAL , .BR ITIMER_VIRTUAL , of .BR ITIMER_PROF ). Het onderdeel .B it_value wordt geschakeld naar de hoeveelheid tijd die nog rest op de wekker, of nul als de wekker uitgezet is. Net zo, .B it_interval wordt geschakeld naar de herstart waarde. .BR Setitimer (2) schakelt de aangewezen wekker naar de waarde in .IR waarde . Als .I owaarde ongelijk-nul is, wordt de oude waarde van de wekker daar opgeslagen. .LP Wekkers tellen af van .I it_value naar nul, veroorzaken een signaal en herstarten met .IR it_interval . Een wekker die naar nul geschakeld is .RI ( it_value is nul of de wekker loopt af en .I it_interval is nul) stopt. .LP Beide, .I tv_sec en .I tv_usec zijn belangrijk bij het bepalen van de duur van een wekker. .LP 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 .BR 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. .LP .SH "TERUGGEEF WAARDE" Bij success wordt nul teruggegeven. Bij falen wordt \-1 teruggegeven en wordt .I errno naar behoren gezet. .SH FOUTEN .TP .B EFAULT {fout} .I waarde of .I owaarde zijn geen geldige pointers. .TP .B EINVAL {ongeldig} .I welke is niet een van .BR ITIMER_REAL , .BR ITIMER_VIRT , of .BR ITIMER_PROF . .SH VOLDOET AAN SVr4, 4.4BSD (deze aanroep verscheen voor het eerst in 4.2BSD). .SH "ZIE OOK" .BR gettimeofday "(2) {krijg tijd op dag}," .BR sigaction "(2) {signaal daad}," .BR signal "(2) {signaal}." .SH 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, .B ITIMER_REAL af zal lopen voordat het signaal van een eerdere afloping afgeleverd is. Het tweede signaal zal in dit geval verloren zijn. .\" Translated Mon Nov 27 15:54:07 CET 2000 by Jos Boersema .\" .SH VERTALING Dit is een handleiding uit \fBmanpages-dev 1.29\fR. Alles wat tussen `\fB{\fR'..`\fB}\fR' staat is \fBaanvullende vertaling\fR, en hoort \fBniet\fR bij de originele handleiding. Email naar . .\"Vertaling Jos Boersema $Id: setitimer.2,v 1.1 2003/04/28 18:43:35 bokkie Exp $