Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 97793
b: refs/heads/master
c: 06e1e4f
h: refs/heads/master
i:
  97791: 9c65fb1
v: v3
  • Loading branch information
Jeff Dike authored and Linus Torvalds committed Jun 6, 2008
1 parent 2b35a55 commit fc338c6
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 34397892a3d677d857fdaf8dec66a66b07dde0b5
refs/heads/master: 06e1e4ffbd1932e288839b3140cda6b8141eb684
7 changes: 7 additions & 0 deletions trunk/arch/um/os-Linux/time.c
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,10 @@ static void deliver_alarm(void)
unsigned long long this_tick = os_nsecs();
int one_tick = UM_NSEC_PER_SEC / UM_HZ;

/* Protection against the host's time going backwards */
if ((last_tick != 0) && (this_tick < last_tick))
this_tick = last_tick;

if (last_tick == 0)
last_tick = this_tick - one_tick;

Expand Down Expand Up @@ -148,6 +152,9 @@ static int after_sleep_interval(struct timespec *ts)
start_usecs = usec;

start_usecs -= skew / UM_NSEC_PER_USEC;
if (start_usecs < 0)
start_usecs = 0;

tv = ((struct timeval) { .tv_sec = start_usecs / UM_USEC_PER_SEC,
.tv_usec = start_usecs % UM_USEC_PER_SEC });
interval = ((struct itimerval) { { 0, usec }, tv });
Expand Down

0 comments on commit fc338c6

Please sign in to comment.