1 .\"
2 .\" Mach Operating System
3 .\" Copyright (c) 1993 Carnegie Mellon University
4 .\" All Rights Reserved.
5 .\"
6 .\" Permission to use, copy, modify and distribute this software and its
7 .\" documentation is hereby granted, provided that both the copyright
8 .\" notice and this permission notice appear in all copies of the
9 .\" software, derivative works or modified versions, and any portions
10 .\" thereof, and that both notices appear in supporting documentation.
11 .\"
12 .\" CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
13 .\" CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
14 .\" ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
15 .\"
16 .\" Carnegie Mellon requests users of this software to return to
17 .\"
18 .\" Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
19 .\" School of Computer Science
20 .\" Carnegie Mellon University
21 .\" Pittsburgh PA 15213-3890
22 .\"
23 .\" any improvements or extensions that they make and grant Carnegie Mellon
24 .\" the rights to redistribute these changes.
25 .\"
26 .\"
27 .\" HISTORY
28 .\" $Log: thread_set_periodic_timers.man,v $
29 .\" Revision 2.2 93/12/07 13:58:16 dbg
30 .\" Created.
31 .\"
32 .\"
33 .TH thread_set_periodic_timers 2 12/7/93
34 .CM 4
35 .SH NAME
36 .nf
37 thread_set_periodic_timers \- sets period and deadline timers for thread
38 thread_get_periodic_timers \- returns period and deadline timers for thread
39 .SH SYNOPSIS
40 .nf
41 .ft B
42 #include <mach.h>
43
44 .nf
45 .ft B
46 kern_return_t thread_set_periodic_timers(
47 thread_t thread,
48 mach_timer_t periodic_timer,
49 mach_timer_t deadline_timer)
50
51
52 .fi
53 .ft P
54 .nf
55 .ft B
56 kern_return_t thread_get_periodic_timers(
57 thread_t thread,
58 mach_timer_t *periodic_timer_p, /* OUT */
59 mach_timer_t *deadline_timer_p) /* OUT */
60
61
62 .fi
63 .ft P
64 .SH ARGUMENTS
65 .TP 15
66 .B
67 thread
68 The thread for which to set the timers
69 .TP 15
70 .B
71 periodic_timer
72 The periodic timer for the thread.
73 .TP 15
74 .B
75 deadline timer
76 The deadline timer for the thread.
77
78 .SH DESCRIPTION
79
80 A periodic thread owns two timers: the
81 .B periodic,
82 or wakeup timer, which awakens the thread at the start of each period
83 of execution, and the
84 .B deadline
85 timer, which suspends the thread and sends a message to a deadline handler
86 if the thread overruns the execution deadline for the current period.
87
88 .B thread_set_periodic_timers
89 installs the period and deadline timers for the thread;
90 .B thread_get_periodic_timers
91 returns them. Either timer may be
92 .B MACH_TIMER_NULL,
93 if the thread is not a periodic thread or if the timers have not been
94 installed. A thread without a periodic timer will not be awakened
95 automatically. However, timer_arm (on another timer) or the timeout
96 parameter to mach_msg may be used to awaken the thread. A thread without
97 a deadline timer will proceed with its computation even if the computation
98 runs into the next period of execution.
99
100 .SH DIAGNOSTICS
101 .TP 25
102 KERN_SUCCESS
103 The timers were set or returned.
104 .TP 25
105 KERN_INVALID_ARGUMENT
106 .B thread
107 is not a thread, or
108 .B periodic_timer
109 or
110 .B deadline_timer
111 is neither a timer nor MACH_TIMER_NULL.
112
113 .SH SEE ALSO
114 .B periodic_thread_create, periodic_thread_restart, timer_arm
115
116 .SH BUGS
117 Availability limited.
Cache object: 0739bb293db94aa299ad0e46a27e6b66
|