Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F146797681
D22751.id65463.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
4 KB
Referenced Files
None
Subscribers
None
D22751.id65463.diff
View Options
Index: share/man/man9/timeout.9
===================================================================
--- share/man/man9/timeout.9
+++ share/man/man9/timeout.9
@@ -62,8 +62,10 @@
.Nd execute a function after a specified length of time
.Sh SYNOPSIS
.In sys/types.h
+.In sys/callout.h
.In sys/systm.h
.Bd -literal
+typedef void callout_func_t (void *);
typedef void timeout_t (void *);
.Ed
.Ft int
@@ -71,7 +73,7 @@
.Ft void
.Fn callout_deactivate "struct callout *c"
.Ft int
-.Fn callout_async_drain "struct callout *c" "timeout_t *drain"
+.Fn callout_async_drain "struct callout *c" "callout_func_t *drain"
.Ft int
.Fn callout_drain "struct callout *c"
.Ft void
@@ -90,19 +92,24 @@
.Ft int
.Fn callout_pending "struct callout *c"
.Ft int
-.Fn callout_reset "struct callout *c" "int ticks" "timeout_t *func" "void *arg"
+.Fo callout_reset
+.Fa "struct callout *c"
+.Fa "int ticks"
+.Fa "callout_func_t *func"
+.Fa "void *arg"
+.Fc
.Ft int
.Fo callout_reset_curcpu
.Fa "struct callout *c"
.Fa "int ticks"
-.Fa "timeout_t *func"
+.Fa "callout_func_t *func"
.Fa "void *arg"
.Fc
.Ft int
.Fo callout_reset_on
.Fa "struct callout *c"
.Fa "int ticks"
-.Fa "timeout_t *func"
+.Fa "callout_func_t *func"
.Fa "void *arg"
.Fa "int cpu"
.Fc
@@ -111,7 +118,7 @@
.Fa "struct callout *c"
.Fa "sbintime_t sbt"
.Fa "sbintime_t pr"
-.Fa "timeout_t *func"
+.Fa "callout_func_t *func"
.Fa "void *arg"
.Fa "int flags"
.Fc
@@ -120,7 +127,7 @@
.Fa "struct callout *c"
.Fa "sbintime_t sbt"
.Fa "sbintime_t pr"
-.Fa "timeout_t *func"
+.Fa "callout_func_t *func"
.Fa "void *arg"
.Fa "int flags"
.Fc
@@ -129,7 +136,7 @@
.Fa "struct callout *c"
.Fa "sbintime_t sbt"
.Fa "sbintime_t pr"
-.Fa "timeout_t *func"
+.Fa "callout_func_t *func"
.Fa "void *arg"
.Fa "int cpu"
.Fa "int flags"
Index: sys/kern/kern_timeout.c
===================================================================
--- sys/kern/kern_timeout.c
+++ sys/kern/kern_timeout.c
@@ -145,11 +145,11 @@
*/
struct cc_exec {
struct callout *cc_curr;
- void (*cc_drain)(void *);
+ callout_func_t *cc_drain;
void *cc_last_func;
void *cc_last_arg;
#ifdef SMP
- void (*ce_migration_func)(void *);
+ callout_func_t *ce_migration_func;
void *ce_migration_arg;
sbintime_t ce_migration_time;
sbintime_t ce_migration_prec;
@@ -656,7 +656,7 @@
int direct)
{
struct rm_priotracker tracker;
- void (*c_func)(void *);
+ callout_func_t *c_func;
void *c_arg;
struct lock_class *class;
struct lock_object *c_lock;
@@ -664,7 +664,7 @@
int c_iflags;
#ifdef SMP
struct callout_cpu *new_cc;
- void (*new_func)(void *);
+ callout_func_t *new_func;
void *new_arg;
int flags, new_cpu;
sbintime_t new_prec, new_time;
@@ -673,7 +673,7 @@
sbintime_t sbt1, sbt2;
struct timespec ts2;
static sbintime_t maxdt = 2 * SBT_1MS; /* 2 msec */
- static timeout_t *lastfunc;
+ static callout_func_t *lastfunc;
#endif
KASSERT((c->c_iflags & CALLOUT_PENDING) == CALLOUT_PENDING,
@@ -768,7 +768,7 @@
KASSERT(cc_exec_curr(cc, direct) == c, ("mishandled cc_curr"));
cc_exec_curr(cc, direct) = NULL;
if (cc_exec_drain(cc, direct)) {
- void (*drain)(void *);
+ callout_func_t *drain;
drain = cc_exec_drain(cc, direct);
cc_exec_drain(cc, direct) = NULL;
@@ -1031,7 +1031,7 @@
*/
int
callout_reset_sbt_on(struct callout *c, sbintime_t sbt, sbintime_t prec,
- void (*ftn)(void *), void *arg, int cpu, int flags)
+ callout_func_t *ftn, void *arg, int cpu, int flags)
{
sbintime_t to_sbt, precision;
struct callout_cpu *cc;
@@ -1190,7 +1190,7 @@
}
int
-_callout_stop_safe(struct callout *c, int flags, void (*drain)(void *))
+_callout_stop_safe(struct callout *c, int flags, callout_func_t *drain)
{
struct callout_cpu *cc, *old_cc;
struct lock_class *class;
Index: sys/sys/_callout.h
===================================================================
--- sys/sys/_callout.h
+++ sys/sys/_callout.h
@@ -48,6 +48,8 @@
SLIST_HEAD(callout_slist, callout);
TAILQ_HEAD(callout_tailq, callout);
+typedef void callout_func_t(void *);
+
struct callout {
union {
LIST_ENTRY(callout) le;
@@ -57,7 +59,7 @@
sbintime_t c_time; /* ticks to the event */
sbintime_t c_precision; /* delta allowed wrt opt */
void *c_arg; /* function argument */
- void (*c_func)(void *); /* function to call */
+ callout_func_t *c_func; /* function to call */
struct lock_object *c_lock; /* lock to handle */
short c_flags; /* User State */
short c_iflags; /* Internal State */
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Mar 6, 4:49 PM (13 h, 43 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29332340
Default Alt Text
D22751.id65463.diff (4 KB)
Attached To
Mode
D22751: Add a callout_func_t typedef for functions used with callout_*().
Attached
Detach File
Event Timeline
Log In to Comment