diff options
Diffstat (limited to 'kernel/posix-timers.c')
-rw-r--r-- | kernel/posix-timers.c | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/kernel/posix-timers.c b/kernel/posix-timers.c index 5b7b4736d82b..38798a2ff994 100644 --- a/kernel/posix-timers.c +++ b/kernel/posix-timers.c | |||
@@ -896,21 +896,10 @@ static int adjust_abs_time(struct k_clock *clock, struct timespec *tp, | |||
896 | jiffies_64_f = get_jiffies_64(); | 896 | jiffies_64_f = get_jiffies_64(); |
897 | } | 897 | } |
898 | /* | 898 | /* |
899 | * Take away now to get delta | 899 | * Take away now to get delta and normalize |
900 | */ | 900 | */ |
901 | oc.tv_sec -= now.tv_sec; | 901 | set_normalized_timespec(&oc, oc.tv_sec - now.tv_sec, |
902 | oc.tv_nsec -= now.tv_nsec; | 902 | oc.tv_nsec - now.tv_nsec); |
903 | /* | ||
904 | * Normalize... | ||
905 | */ | ||
906 | while ((oc.tv_nsec - NSEC_PER_SEC) >= 0) { | ||
907 | oc.tv_nsec -= NSEC_PER_SEC; | ||
908 | oc.tv_sec++; | ||
909 | } | ||
910 | while ((oc.tv_nsec) < 0) { | ||
911 | oc.tv_nsec += NSEC_PER_SEC; | ||
912 | oc.tv_sec--; | ||
913 | } | ||
914 | }else{ | 903 | }else{ |
915 | jiffies_64_f = get_jiffies_64(); | 904 | jiffies_64_f = get_jiffies_64(); |
916 | } | 905 | } |
@@ -1177,7 +1166,6 @@ void exit_itimers(struct signal_struct *sig) | |||
1177 | tmr = list_entry(sig->posix_timers.next, struct k_itimer, list); | 1166 | tmr = list_entry(sig->posix_timers.next, struct k_itimer, list); |
1178 | itimer_delete(tmr); | 1167 | itimer_delete(tmr); |
1179 | } | 1168 | } |
1180 | del_timer_sync(&sig->real_timer); | ||
1181 | } | 1169 | } |
1182 | 1170 | ||
1183 | /* | 1171 | /* |