Fix fallout of r319722 in CTL HA.

ha_lso is a listening socket (unless bind() has failed), so should use
solisten_upcall_set(NULL, NULL), not soupcall_clear().

MFC after:	1 week
Sponsored by:	iXsystems, Inc.
This commit is contained in:
Alexander Motin 2020-05-26 15:08:35 +00:00
parent b01edfb515
commit 3873b14991

View file

@ -196,10 +196,11 @@ ctl_ha_lclose(struct ha_softc *softc)
{
if (softc->ha_lso) {
SOCKBUF_LOCK(&softc->ha_lso->so_rcv);
if (softc->ha_lso->so_rcv.sb_upcall != NULL)
soupcall_clear(softc->ha_lso, SO_RCV);
SOCKBUF_UNLOCK(&softc->ha_lso->so_rcv);
if (SOLISTENING(softc->ha_lso)) {
SOLISTEN_LOCK(softc->ha_lso);
solisten_upcall_set(softc->ha_lso, NULL, NULL);
SOLISTEN_UNLOCK(softc->ha_lso);
}
soclose(softc->ha_lso);
softc->ha_lso = NULL;
}