diff options
author | gallatin <gallatin@FreeBSD.org> | 2001-03-28 01:19:41 +0000 |
---|---|---|
committer | gallatin <gallatin@FreeBSD.org> | 2001-03-28 01:19:41 +0000 |
commit | bffff76146178f4d1b6bbc49ac09587cfa9748cc (patch) | |
tree | eff09ff59229297e596667031cc59f4c107566c8 /sys/kern/kern_shutdown.c | |
parent | d9266b41a23df064770c1328cd76e1083cd63bee (diff) | |
download | FreeBSD-src-bffff76146178f4d1b6bbc49ac09587cfa9748cc.zip FreeBSD-src-bffff76146178f4d1b6bbc49ac09587cfa9748cc.tar.gz |
Check whether we need to do a full restore after handling ASTs. If
an AST results in a signal being delivered, we'll need to do a full register
restore so as to properly setup the signal handler. This is somewhat of
a pessimization, because ast() will be called twice in this case.
This fixes several problems that have been reported where signal intensive
userland apps (most notably dump) have been SEGV'ing for no fault of their
own.
Thanks to Peter Jeremy <peter.jeremy@alcatel.com.au> for presenting the
AST scenario which led to me fiinally figuring this out.
Reviewed by: jhb
Diffstat (limited to 'sys/kern/kern_shutdown.c')
0 files changed, 0 insertions, 0 deletions