View | Details | Raw Unified | Return to bug 254590 | Differences between
and this patch

Collapse All | Expand All

(-)sys/rpc/svc.c (+5 lines)
Lines 203-208 svcpool_cleanup(SVCPOOL *pool) Link Here
203
		mtx_unlock(&grp->sg_lock);
203
		mtx_unlock(&grp->sg_lock);
204
	}
204
	}
205
	TAILQ_FOREACH_SAFE(xprt, &cleanup, xp_link, nxprt) {
205
	TAILQ_FOREACH_SAFE(xprt, &cleanup, xp_link, nxprt) {
206
		if (xprt->xp_socket != NULL)
207
			soshutdown(xprt->xp_socket, SHUT_WR);
206
		SVC_RELEASE(xprt);
208
		SVC_RELEASE(xprt);
207
	}
209
	}
208
210
Lines 388-393 xprt_unregister(SVCXPRT *xprt) Link Here
388
	xprt_unregister_locked(xprt);
390
	xprt_unregister_locked(xprt);
389
	mtx_unlock(&grp->sg_lock);
391
	mtx_unlock(&grp->sg_lock);
390
392
393
	if (xprt->xp_socket != NULL)
394
		soshutdown(xprt->xp_socket, SHUT_WR);
391
	SVC_RELEASE(xprt);
395
	SVC_RELEASE(xprt);
392
}
396
}
393
397
Lines 1078-1083 svc_checkidle(SVCGROUP *grp) Link Here
1078
1082
1079
	mtx_unlock(&grp->sg_lock);
1083
	mtx_unlock(&grp->sg_lock);
1080
	TAILQ_FOREACH_SAFE(xprt, &cleanup, xp_link, nxprt) {
1084
	TAILQ_FOREACH_SAFE(xprt, &cleanup, xp_link, nxprt) {
1085
		soshutdown(xprt->xp_socket, SHUT_WR);
1081
		SVC_RELEASE(xprt);
1086
		SVC_RELEASE(xprt);
1082
	}
1087
	}
1083
	mtx_lock(&grp->sg_lock);
1088
	mtx_lock(&grp->sg_lock);

Return to bug 254590