diff options
Diffstat (limited to 'kernel/posix-cpu-timers.c')
| -rw-r--r-- | kernel/posix-cpu-timers.c | 10 | 
1 files changed, 5 insertions, 5 deletions
diff --git a/kernel/posix-cpu-timers.c b/kernel/posix-cpu-timers.c index 6f7b869c011..bece7c0b67b 100644 --- a/kernel/posix-cpu-timers.c +++ b/kernel/posix-cpu-timers.c @@ -18,7 +18,7 @@ void update_rlimit_cpu(unsigned long rlim_new)  	cputime = secs_to_cputime(rlim_new);  	if (cputime_eq(current->signal->it_prof_expires, cputime_zero) || -	    cputime_lt(current->signal->it_prof_expires, cputime)) { +	    cputime_gt(current->signal->it_prof_expires, cputime)) {  		spin_lock_irq(¤t->sighand->siglock);  		set_process_cpu_timer(current, CPUCLOCK_PROF, &cputime, NULL);  		spin_unlock_irq(¤t->sighand->siglock); @@ -1420,19 +1420,19 @@ void run_posix_cpu_timers(struct task_struct *tsk)  	 * timer call will interfere.  	 */  	list_for_each_entry_safe(timer, next, &firing, it.cpu.entry) { -		int firing; +		int cpu_firing; +  		spin_lock(&timer->it_lock);  		list_del_init(&timer->it.cpu.entry); -		firing = timer->it.cpu.firing; +		cpu_firing = timer->it.cpu.firing;  		timer->it.cpu.firing = 0;  		/*  		 * The firing flag is -1 if we collided with a reset  		 * of the timer, which already reported this  		 * almost-firing as an overrun.  So don't generate an event.  		 */ -		if (likely(firing >= 0)) { +		if (likely(cpu_firing >= 0))  			cpu_timer_fire(timer); -		}  		spin_unlock(&timer->it_lock);  	}  }  |