git: d9f9a73a3363 - main - krpc/clnt_vc: in clnt_vc_destroy() use more lapidary logic
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 17 Jan 2025 07:28:22 UTC
The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=d9f9a73a3363737aef4bae8ef6d71a2159005436 commit d9f9a73a3363737aef4bae8ef6d71a2159005436 Author: Gleb Smirnoff <glebius@FreeBSD.org> AuthorDate: 2025-01-17 03:59:30 +0000 Commit: Gleb Smirnoff <glebius@FreeBSD.org> CommitDate: 2025-01-17 07:27:21 +0000 krpc/clnt_vc: in clnt_vc_destroy() use more lapidary logic on whether to close the socket or leave it. --- sys/rpc/clnt_vc.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/sys/rpc/clnt_vc.c b/sys/rpc/clnt_vc.c index 2f2674e694af..e201072b2ee7 100644 --- a/sys/rpc/clnt_vc.c +++ b/sys/rpc/clnt_vc.c @@ -849,7 +849,7 @@ static void clnt_vc_destroy(CLIENT *cl) { struct ct_data *ct = (struct ct_data *) cl->cl_private; - struct socket *so = NULL; + struct socket *so; SVCXPRT *xprt; uint32_t reterr; @@ -867,19 +867,14 @@ clnt_vc_destroy(CLIENT *cl) SVC_RELEASE(xprt); } - if (ct->ct_socket) { - if (ct->ct_closeit) { - so = ct->ct_socket; - } - } - /* Wait for the upcall kthread to terminate. */ while ((ct->ct_rcvstate & RPCRCVSTATE_UPCALLTHREAD) != 0) msleep(&ct->ct_sslrefno, &ct->ct_lock, 0, "clntvccl", hz); mtx_unlock(&ct->ct_lock); - mtx_destroy(&ct->ct_lock); + + so = ct->ct_closeit ? ct->ct_socket : NULL; if (so) { if (ct->ct_sslrefno != 0) { /*