lkml.org 
[lkml]   [2004]   [Oct]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH] posix timers using == instead of & for bitmask tests
Make posix-timers do a get_task_struct / put_task_struct if either
SIGEV_SIGNAL or SIGEV_THREAD_ID is set. Currently the get/put is done
only if both are set.

Compiles but is otherwise untested.

Joe

--- base/kernel/posix-timers.c 2004-10-18 17:54:22.000000000 -0400
+++ new/kernel/posix-timers.c 2004-10-22 10:25:51.000000000 -0400
@@ -548,7 +548,7 @@
}
sigqueue_free(tmr->sigq);
if (unlikely(tmr->it_process) &&
- tmr->it_sigev_notify == (SIGEV_SIGNAL|SIGEV_THREAD_ID))
+ (tmr->it_sigev_notify & (SIGEV_SIGNAL | SIGEV_THREAD_ID)))
put_task_struct(tmr->it_process);
kmem_cache_free(posix_timers_cache, tmr);
}
@@ -650,7 +650,7 @@
list_add(&new_timer->list,
&process->signal->posix_timers);
spin_unlock_irqrestore(&process->sighand->siglock, flags);
- if (new_timer->it_sigev_notify == (SIGEV_SIGNAL|SIGEV_THREAD_ID))
+ if (new_timer->it_sigev_notify & (SIGEV_SIGNAL | SIGEV_THREAD_ID))
get_task_struct(process);
} else {
spin_unlock_irqrestore(&process->sighand->siglock, flags);
@@ -1101,7 +1101,7 @@
* they got something (see the lock code above).
*/
if (timer->it_process) {
- if (timer->it_sigev_notify == (SIGEV_SIGNAL|SIGEV_THREAD_ID))
+ if (timer->it_sigev_notify & (SIGEV_SIGNAL | SIGEV_THREAD_ID))
put_task_struct(timer->it_process);
timer->it_process = NULL;
}
@@ -1138,7 +1138,7 @@
* they got something (see the lock code above).
*/
if (timer->it_process) {
- if (timer->it_sigev_notify == (SIGEV_SIGNAL|SIGEV_THREAD_ID))
+ if (timer->it_sigev_notify & (SIGEV_SIGNAL | SIGEV_THREAD_ID))
put_task_struct(timer->it_process);
timer->it_process = NULL;
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2005-03-22 14:07    [W:0.400 / U:0.032 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site