From 2b12098917c1d69f89fc9fa03c66530e1917d4c1 Mon Sep 17 00:00:00 2001 From: Oleg Nesterov Date: Fri, 25 Jul 2008 01:47:26 -0700 Subject: [PATCH] --- yaml --- r: 105918 b: refs/heads/master c: 4b7a1304267bff68260ae861784b27130e805be3 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/kernel/posix-timers.c | 18 ++++++++---------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/[refs] b/[refs] index 6bed0b3b4f8d..3c5a27fb8840 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: da5ef6bb96158b0fc0d808704237a453af449124 +refs/heads/master: 4b7a1304267bff68260ae861784b27130e805be3 diff --git a/trunk/kernel/posix-timers.c b/trunk/kernel/posix-timers.c index dbd8398ddb0b..17f53266fb67 100644 --- a/trunk/kernel/posix-timers.c +++ b/trunk/kernel/posix-timers.c @@ -856,11 +856,10 @@ sys_timer_delete(timer_t timer_id) * This keeps any tasks waiting on the spin lock from thinking * they got something (see the lock code above). */ - if (timer->it_process) { - if (timer->it_sigev_notify == (SIGEV_SIGNAL|SIGEV_THREAD_ID)) - put_task_struct(timer->it_process); - timer->it_process = NULL; - } + if (timer->it_sigev_notify == (SIGEV_SIGNAL|SIGEV_THREAD_ID)) + put_task_struct(timer->it_process); + timer->it_process = NULL; + unlock_timer(timer, flags); release_posix_timer(timer, IT_ID_SET); return 0; @@ -885,11 +884,10 @@ static void itimer_delete(struct k_itimer *timer) * This keeps any tasks waiting on the spin lock from thinking * they got something (see the lock code above). */ - if (timer->it_process) { - if (timer->it_sigev_notify == (SIGEV_SIGNAL|SIGEV_THREAD_ID)) - put_task_struct(timer->it_process); - timer->it_process = NULL; - } + if (timer->it_sigev_notify == (SIGEV_SIGNAL|SIGEV_THREAD_ID)) + put_task_struct(timer->it_process); + timer->it_process = NULL; + unlock_timer(timer, flags); release_posix_timer(timer, IT_ID_SET); }