[PATCH] out_of_memory() locking fix
I seem to have lost this read_unlock(). While we're there, let's turn that interruptible sleep unto uninterruptible, so we don't get a busywait if signal_pending(). (Again. We seem to have a habit of doing this). Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
b1e2d907cb
commit
140ffcec4d
|
@ -355,6 +355,7 @@ retry:
|
||||||
}
|
}
|
||||||
|
|
||||||
out:
|
out:
|
||||||
|
read_unlock(&tasklist_lock);
|
||||||
cpuset_unlock();
|
cpuset_unlock();
|
||||||
if (mm)
|
if (mm)
|
||||||
mmput(mm);
|
mmput(mm);
|
||||||
|
@ -364,5 +365,5 @@ out:
|
||||||
* retry to allocate memory unless "p" is current
|
* retry to allocate memory unless "p" is current
|
||||||
*/
|
*/
|
||||||
if (!test_thread_flag(TIF_MEMDIE))
|
if (!test_thread_flag(TIF_MEMDIE))
|
||||||
schedule_timeout_interruptible(1);
|
schedule_timeout_uninterruptible(1);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue