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 @@ -116,7 +116,6 @@ static void clnt_vc_upcallsdone(struct ct_data *); -static int fake_wchan; /* * Create a client handle for a connection. @@ -453,7 +452,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); + pause("rpclpsnd", 1); + mtx_lock(&ct->ct_lock); goto call_again; }