diff options
author | Julian Elischer <julian@FreeBSD.org> | 1996-09-30 19:28:52 +0000 |
---|---|---|
committer | Julian Elischer <julian@FreeBSD.org> | 1996-09-30 19:28:52 +0000 |
commit | 793dc173fa1b0d5d9b4f3b168b23a646119e73d6 (patch) | |
tree | c935bb23d171df7f81a7d2f0faad08532f7ea899 | |
parent | 548e4cb103969107c40ec4a0c260c01d9acb6cc5 (diff) | |
download | src-793dc173fa1b0d5d9b4f3b168b23a646119e73d6.tar.gz src-793dc173fa1b0d5d9b4f3b168b23a646119e73d6.zip |
if we jump the time, we need to check all the process real interval timers.
Notes
Notes:
svn path=/head/; revision=18582
-rw-r--r-- | sys/kern/kern_time.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/kern/kern_time.c b/sys/kern/kern_time.c index 775b2bad7c2a..c94d8cfdcbaf 100644 --- a/sys/kern/kern_time.c +++ b/sys/kern/kern_time.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)kern_time.c 8.1 (Berkeley) 6/10/93 - * $Id: kern_time.c,v 1.16 1996/06/08 11:55:32 bde Exp $ + * $Id: kern_time.c,v 1.17 1996/07/12 07:55:35 bde Exp $ */ #include <sys/param.h> @@ -114,7 +114,6 @@ settimeofday(p, uap, retval) (error = copyin((caddr_t)uap->tzp, (caddr_t)&atz, sizeof(atz)))) return (error); if (uap->tv) { - /* WHAT DO WE DO ABOUT PENDING REAL-TIME TIMEOUTS??? */ s = splclock(); /* * Calculate delta directly to minimize clock interrupt @@ -136,6 +135,10 @@ settimeofday(p, uap, retval) timevalfix(&delta); timevaladd(&boottime, &delta); timevaladd(&runtime, &delta); + /* re-use 'p' */ + for (p = allproc.lh_first; p != 0; p = p->p_list.le_next) + if (timerisset(&p->p_realtimer.it_value)) + timevaladd(&p->p_realtimer.it_value, &delta); LEASE_UPDATETIME(delta.tv_sec); splx(s); resettodr(); |