X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/de355530ae67247cbd0da700edb3a2a1dae884c2..5eebf7385fedb1517b66b53c28e5aa6bb0a2be50:/bsd/kern/kern_clock.c?ds=sidebyside diff --git a/bsd/kern/kern_clock.c b/bsd/kern/kern_clock.c index a1b35394e..8e34ca9e2 100644 --- a/bsd/kern/kern_clock.c +++ b/bsd/kern/kern_clock.c @@ -118,6 +118,7 @@ bsd_hardclock(usermode, pc, numticks) register struct proc *p; register thread_t thread; int nusecs = numticks * tick; + struct timeval tv; if (!bsd_hardclockinit) return; @@ -125,13 +126,14 @@ bsd_hardclock(usermode, pc, numticks) /* * Increment the time-of-day. */ - microtime(&time); + microtime(&tv); + time = tv; if (bsd_hardclockinit < 0) { return; } - thread = current_thread(); + thread = current_act(); /* * Charge the time out based on the mode the cpu is in. * Here again we fudge for the lack of proper interval timers @@ -157,7 +159,7 @@ bsd_hardclock(usermode, pc, numticks) extern void psignal_vtalarm(struct proc *); /* does psignal(p, SIGVTALRM) in a thread context */ - thread_call_func(psignal_vtalarm, p, FALSE); + thread_call_func((thread_call_func_t)psignal_vtalarm, p, FALSE); } } @@ -180,7 +182,7 @@ bsd_hardclock(usermode, pc, numticks) extern void psignal_xcpu(struct proc *); /* does psignal(p, SIGXCPU) in a thread context */ - thread_call_func(psignal_xcpu, p, FALSE); + thread_call_func((thread_call_func_t)psignal_xcpu, p, FALSE); if (p->p_limit->pl_rlimit[RLIMIT_CPU].rlim_cur < p->p_limit->pl_rlimit[RLIMIT_CPU].rlim_max) @@ -192,7 +194,7 @@ bsd_hardclock(usermode, pc, numticks) extern void psignal_sigprof(struct proc *); /* does psignal(p, SIGPROF) in a thread context */ - thread_call_func(psignal_sigprof, p, FALSE); + thread_call_func((thread_call_func_t)psignal_sigprof, p, FALSE); } } }