diff options
author | truckman <truckman@FreeBSD.org> | 2004-08-20 21:47:48 +0000 |
---|---|---|
committer | truckman <truckman@FreeBSD.org> | 2004-08-20 21:47:48 +0000 |
commit | f36627bd561bb62f96a7f00ee78fa6c29da2f021 (patch) | |
tree | fba4b3ebc7e90cb82ea165360bddefe85c69c6da /lib/libutil | |
parent | 54d23a34f60fa406f7b0eebdfec259936c967881 (diff) | |
download | FreeBSD-src-f36627bd561bb62f96a7f00ee78fa6c29da2f021.zip FreeBSD-src-f36627bd561bb62f96a7f00ee78fa6c29da2f021.tar.gz |
Don't bother calling the module event handlers from module_shutdown()
in the shutdown_final state if the RB_NOSYNC flag is set.
The specific motivation in this case is that a system panic in an
interrupt context results in a call to module_shutdown(), which
calls g_modevent(), which calls g_malloc(..., M_WAITOK), which
results in a second panic. While g_modevent() could be fixed to
not call malloc() for MOD_SHUTDOWN events (which it doesn't handle
in any case), it is probably also a good idea to entirely skip the
execution of the module shutdown handlers after a panic.
This may be a MFC candidate for RELENG_5.
Diffstat (limited to 'lib/libutil')
0 files changed, 0 insertions, 0 deletions