aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/posix-timers.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/kernel/posix-timers.c b/kernel/posix-timers.c
index dbd8398ddb0b..17f53266fb67 100644
--- a/kernel/posix-timers.c
+++ b/kernel/posix-timers.c
@@ -856,11 +856,10 @@ retry_delete:
856 * This keeps any tasks waiting on the spin lock from thinking 856 * This keeps any tasks waiting on the spin lock from thinking
857 * they got something (see the lock code above). 857 * they got something (see the lock code above).
858 */ 858 */
859 if (timer->it_process) { 859 if (timer->it_sigev_notify == (SIGEV_SIGNAL|SIGEV_THREAD_ID))
860 if (timer->it_sigev_notify == (SIGEV_SIGNAL|SIGEV_THREAD_ID)) 860 put_task_struct(timer->it_process);
861 put_task_struct(timer->it_process); 861 timer->it_process = NULL;
862 timer->it_process = NULL; 862
863 }
864 unlock_timer(timer, flags); 863 unlock_timer(timer, flags);
865 release_posix_timer(timer, IT_ID_SET); 864 release_posix_timer(timer, IT_ID_SET);
866 return 0; 865 return 0;
@@ -885,11 +884,10 @@ retry_delete:
885 * This keeps any tasks waiting on the spin lock from thinking 884 * This keeps any tasks waiting on the spin lock from thinking
886 * they got something (see the lock code above). 885 * they got something (see the lock code above).
887 */ 886 */
888 if (timer->it_process) { 887 if (timer->it_sigev_notify == (SIGEV_SIGNAL|SIGEV_THREAD_ID))
889 if (timer->it_sigev_notify == (SIGEV_SIGNAL|SIGEV_THREAD_ID)) 888 put_task_struct(timer->it_process);
890 put_task_struct(timer->it_process); 889 timer->it_process = NULL;
891 timer->it_process = NULL; 890
892 }
893 unlock_timer(timer, flags); 891 unlock_timer(timer, flags);
894 release_posix_timer(timer, IT_ID_SET); 892 release_posix_timer(timer, IT_ID_SET);
895} 893}