lkml.org 
[lkml]   [2006]   [Jan]   [30]   [last100]   RSS Feed
Views: [more markup]   [less markup]   [headers]   [forward]  
 
Messages in this thread
Patch in this message
/
DateMon, 30 Jan 2006 09:57:39 +0100
FromGerd Hoffmann <>
Subject[patch] fix alarm() return value
  Hi folks,

This patch fixes the alarm() system call return value.  The alarm(2)
syscall is supposed to return the reamining seconds.  The hrtimer
switchover broke this because the code tries to gather the remaining
time _after_ canceling the timer.  Trivial fix below.

Please apply,

  Gerd

-- 
Gerd 'just married' Hoffmann <kraxel@suse.de>
I'm the hacker formerly known as Gerd Knorr.
http://www.suse.de/~kraxel/just-married.jpeg
Index: linux-2.6.15/kernel/itimer.c
===================================================================
--- linux-2.6.15.orig/kernel/itimer.c	2006-01-27 16:11:33.000000000 +0100
+++ linux-2.6.15/kernel/itimer.c	2006-01-27 17:01:54.000000000 +0100
@@ -151,12 +151,12 @@ int do_setitimer(int which, struct itime
 	switch (which) {
 	case ITIMER_REAL:
 		timer = &tsk->signal->real_timer;
-		hrtimer_cancel(timer);
 		if (ovalue) {
 			ovalue->it_value = itimer_get_remtime(timer);
 			ovalue->it_interval
 				= ktime_to_timeval(tsk->signal->it_real_incr);
 		}
+		hrtimer_cancel(timer);
 		tsk->signal->it_real_incr =
 			timeval_to_ktime(value->it_interval);
 		expires = timeval_to_ktime(value->it_value);
\
 
 \ /
  Last update: 2006-01-30 09:00    [W:0.150 / U:0.430 seconds]
©2003-2008 Jasper Spaans