diff options
author | 2013-01-15 02:03:38 +0000 | |
---|---|---|
committer | 2013-01-15 02:03:38 +0000 | |
commit | dfdba55dda2b8e0913dfd737e3ebab26de12e64c (patch) | |
tree | 043226e7f1455989e8753753335ed594ce1fd2de /sys/uvm/uvm_unix.c | |
parent | Slice & dice coredump write requests into MAXPHYS blocks, and (diff) | |
download | wireguard-openbsd-dfdba55dda2b8e0913dfd737e3ebab26de12e64c.tar.xz wireguard-openbsd-dfdba55dda2b8e0913dfd737e3ebab26de12e64c.zip |
Allow SIGKILL to terminate coredumping processes. Semantics decided
with kettenis guenther and beck.
ok guenther
Diffstat (limited to 'sys/uvm/uvm_unix.c')
-rw-r--r-- | sys/uvm/uvm_unix.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/uvm/uvm_unix.c b/sys/uvm/uvm_unix.c index a94bf92cbf0..11bd29f977b 100644 --- a/sys/uvm/uvm_unix.c +++ b/sys/uvm/uvm_unix.c @@ -1,4 +1,4 @@ -/* $OpenBSD: uvm_unix.c,v 1.44 2013/01/15 01:34:27 deraadt Exp $ */ +/* $OpenBSD: uvm_unix.c,v 1.45 2013/01/15 02:03:38 deraadt Exp $ */ /* $NetBSD: uvm_unix.c,v 1.18 2000/09/13 15:00:25 thorpej Exp $ */ /* @@ -237,6 +237,9 @@ uvm_coredump(struct proc *p, struct vnode *vp, struct ucred *cred, coffset = 0; csize = (int)cseg.c_size; do { + if (p->p_siglist & sigmask(SIGKILL)) + return (EINTR); + /* Rest of the loop sleeps with lock held, so... */ yield(); |