Project

General

Profile

Submit #1699 » 0001-callout-9-introduce-callout_reset_-m-s-similarly-to-.patch

C++, 03/20/2010 01:39 AM

View differences:

sys/kern/kern_timeout.c
#include <sys/thread2.h>
#include <sys/mplock2.h>
#include <machine/limits.h>
#ifndef MAX_SOFTCLOCK_STEPS
#define MAX_SOFTCLOCK_STEPS 100 /* Maximum allowed value of steps. */
#endif
......
crit_exit_gd(gd);
}
void
callout_reset_s(struct callout *c, int s, void (*ftn)(void *),
void *arg)
{
uintmax_t t;
t = (uintmax_t)s * hz;
if (t > INT_MAX)
t = INT_MAX;
callout_reset(c, t, ftn, arg);
}
void
callout_reset_ms(struct callout *c, int ms, void (*ftn)(void *),
void *arg)
{
uintmax_t t;
t = (uintmax_t)ms * hz / 1000;
if (t > INT_MAX)
t = INT_MAX;
callout_reset(c, t, ftn, arg);
}
/*
* Stop a running timer. WARNING! If called on a cpu other then the one
* the callout was started on this function will liveloop on its IPI to
sys/sys/callout.h
void callout_init (struct callout *);
void callout_init_mp (struct callout *);
void callout_reset (struct callout *, int, void (*)(void *), void *);
void callout_reset_s (struct callout *, int, void (*)(void *), void *);
void callout_reset_ms (struct callout *, int, void (*)(void *), void *);
int callout_stop (struct callout *);
#endif
(1-1/2)