ctl_ha: don't shutdown threads if scheduler is stopped
In this case, just return. Reviewed by: markj MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D42341
This commit is contained in:
@@ -909,13 +909,16 @@ ctl_ha_msg_shutdown(struct ctl_softc *ctl_softc)
|
||||
{
|
||||
struct ha_softc *softc = &ha_softc;
|
||||
|
||||
if (SCHEDULER_STOPPED())
|
||||
return;
|
||||
|
||||
/* Disconnect and shutdown threads. */
|
||||
mtx_lock(&softc->ha_lock);
|
||||
if (softc->ha_shutdown < 2) {
|
||||
softc->ha_shutdown = 1;
|
||||
softc->ha_wakeup = 1;
|
||||
wakeup(&softc->ha_wakeup);
|
||||
while (softc->ha_shutdown < 2 && !SCHEDULER_STOPPED()) {
|
||||
while (softc->ha_shutdown < 2) {
|
||||
msleep(&softc->ha_wakeup, &softc->ha_lock, 0,
|
||||
"shutdown", hz);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user