diff --git a/sys/rpc/clnt_vc.c.tsleep b/sys/rpc/clnt_vc.c --- a/sys/rpc/clnt_vc.c.tsleep +++ b/sys/rpc/clnt_vc.c @@ -453,7 +453,9 @@ mtx_lock(&ct->ct_lock); TAILQ_REMOVE(&ct->ct_pending, cr, cr_link); /* Sleep for 1 clock tick before trying the sosend() again. */ - msleep(&fake_wchan, &ct->ct_lock, 0, "rpclpsnd", 1); + mtx_unlock(&ct->ct_lock); + tsleep(&fake_wchan, 0, "rpclpsnd", 1); + mtx_lock(&ct->ct_lock); goto call_again; }