diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-14 17:55:13 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-14 17:55:13 -0400 |
commit | 40e7babbb52b4b57721b9175aed7a14d93bf242f (patch) | |
tree | e16bc0a698c891922ca4c0166e0e08ac194718ed /kernel/mutex.c | |
parent | 948769a5ba304ed3329a2f42ee3561f04a0b5692 (diff) | |
parent | d12c1a37925a8ec386994169605fe99217295199 (diff) |
Merge branch 'core/locking' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'core/locking' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
lockdep: fix kernel/fork.c warning
lockdep: fix ftrace irq tracing false positive
lockdep: remove duplicate definition of STATIC_LOCKDEP_MAP_INIT
lockdep: add lock_class information to lock_chain and output it
lockdep: add lock_class information to lock_chain and output it
lockdep: output lock_class key instead of address for forward dependency output
__mutex_lock_common: use signal_pending_state()
mutex-debug: check mutex magic before owner
Fixed up conflict in kernel/fork.c manually
Diffstat (limited to 'kernel/mutex.c')
-rw-r--r-- | kernel/mutex.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/kernel/mutex.c b/kernel/mutex.c index d046a345d365..bcdc9ac8ef60 100644 --- a/kernel/mutex.c +++ b/kernel/mutex.c | |||
@@ -165,10 +165,7 @@ __mutex_lock_common(struct mutex *lock, long state, unsigned int subclass, | |||
165 | * got a signal? (This code gets eliminated in the | 165 | * got a signal? (This code gets eliminated in the |
166 | * TASK_UNINTERRUPTIBLE case.) | 166 | * TASK_UNINTERRUPTIBLE case.) |
167 | */ | 167 | */ |
168 | if (unlikely((state == TASK_INTERRUPTIBLE && | 168 | if (unlikely(signal_pending_state(state, task))) { |
169 | signal_pending(task)) || | ||
170 | (state == TASK_KILLABLE && | ||
171 | fatal_signal_pending(task)))) { | ||
172 | mutex_remove_waiter(lock, &waiter, | 169 | mutex_remove_waiter(lock, &waiter, |
173 | task_thread_info(task)); | 170 | task_thread_info(task)); |
174 | mutex_release(&lock->dep_map, 1, ip); | 171 | mutex_release(&lock->dep_map, 1, ip); |