Messages in this thread | | | Date | Tue, 5 Aug 2008 19:40:04 +0400 | From | Oleg Nesterov <> | Subject | Re: [PATCH 2/2] posix-timers: lock_timer: make it readable |
| |
On 08/05, Oleg Nesterov wrote: > > Cleanup. Imho makes the code much more understandable. At least this > patch lessens both the source and compiled code.
To simplify the review, I am posting the code with this patch applied.
static struct k_itimer *lock_timer(timer_t timer_id, unsigned long *flags) { struct k_itimer *timr; /* * Watch out here. We do a irqsave on the idr_lock and pass the * flags part over to the timer lock. Must not let interrupts in * while we are moving the lock. */ spin_lock_irqsave(&idr_lock, *flags); timr = idr_find(&posix_timers_id, (int)timer_id); if (timr) { spin_lock(&timr->it_lock); if (timr->it_process && same_thread_group(timr->it_process, current)) { spin_unlock(&idr_lock); return timr; } spin_unlock(&timr->it_lock); } spin_unlock_irqrestore(&idr_lock, *flags);
return NULL; }
Oleg.
| |