diff options
author | kib <kib@FreeBSD.org> | 2009-10-30 10:10:39 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2009-10-30 10:10:39 +0000 |
commit | f2a32c79ab8801e28a77d82b70d9621cbc93bc1e (patch) | |
tree | 71a761f08c33278d7e27caa229231c7844e1d897 /usr.bin/bsdiff | |
parent | 0f387cfc4635b54215dfea282d0cc03d4012fba0 (diff) | |
download | FreeBSD-src-f2a32c79ab8801e28a77d82b70d9621cbc93bc1e.zip FreeBSD-src-f2a32c79ab8801e28a77d82b70d9621cbc93bc1e.tar.gz |
Trapsignal() and postsig() call kern_sigprocmask() with both process
lock and curproc->p_sigacts->ps_mtx. Reschedule_signals may need to have
ps_mtx locked to decide and wakeup a thread, causing recursion on the
mutex.
Inform kern_sigprocmask() and reschedule_signals() about lock state
of the ps_mtx by new flag SIGPROCMASK_PS_LOCKED to avoid recursion.
Reported and tested by: keramida
MFC after: 1 month
Diffstat (limited to 'usr.bin/bsdiff')
0 files changed, 0 insertions, 0 deletions