Plan 9 from Bell Labs’s /usr/web/sources/contrib/dho/kimp/p9/timer

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


.TH TIMER 9
.SH NAME
Timer, timeradd, timerdel \- clock scheduling procedures
.SH SYNOPSIS
.ta \w'\fLstruct 'u
.EX
enum {
	/* Timer modes */
	Trelative,  /* Timer programmed in ns from now */
	Tabsolute,  /* Timer programmed in ns since epoch */
	Tperiodic,  /* Periodic timer, period in ns */
};
.EE
.PP
.EX
struct	Timer
{
	int   tmode;  /* See above */
	void  tns;    /* Meaning defined by mode */
	void  (*tf)(Ureg *, Timer *);
	void  *ta;
};
.EE
.PP
.B
void	timeradd(Timer *nt);
.PP
.B
void	timerdel(Timer *dt);
.SH DESCRIPTION
Timer functions are used to set functions which execute at the specified
time. These functions are executed at the granularity of the system's
timer interrupt.
.I timeradd (9)
adds or modifies a timer
.I nt .
.I timerdel (9)
deletes a timer
.I dt .
Timers are guaranteed to not execute before the set time period. Periodic
timers should use the
.I addclock0link (9)
interface. Relative and absolute timers are triggered only once; after
execution, these timers are deleted.
.SH BUGS
When adding an absolute timer with
.I timeradd (9),
there is no check that the timer is set for a time in the past. This
effectively guarantees all absolute timers to execute.
.SH SOURCE
.B /sys/src/9/port/portclock.c
.br
.SH SEE ALSO
.IR delay (9),
.IR seconds (9),
.IR sleep (9)

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.