XXXX introduce drv_sectohz
638 (void) CLNT_CONTROL(clnt, CLSET_XID, (char *)&zeroxid);
639
640
641 while (rpcsec_retry > 0) {
642 struct rpc_err rpcerr;
643
644 sigintr(&smask, INTERRUPT_OK);
645
646 callstat = clnt_call(clnt, NULLPROC,
647 __xdr_rpc_gss_init_arg, (caddr_t)&call_arg,
648 __xdr_rpc_gss_init_res, (caddr_t)&call_res,
649 timeout);
650
651 sigunintr(&smask);
652
653 if (callstat == RPC_SUCCESS) {
654 error = 0;
655 if (isrefresh &&
656 call_res.gss_major == GSS_S_FAILURE) {
657
658 clock_t one_sec = drv_usectohz(1000000);
659
660 rpcsec_retry--;
661
662 /*
663 * Pause a little and try again.
664 */
665
666 if (clnt->cl_nosignal == TRUE) {
667 delay(one_sec);
668 } else {
669 if (delay_sig(one_sec)) {
670 error = EINTR;
671 break;
672 }
673 }
674 continue;
675 }
676 break;
677 }
678
|
638 (void) CLNT_CONTROL(clnt, CLSET_XID, (char *)&zeroxid);
639
640
641 while (rpcsec_retry > 0) {
642 struct rpc_err rpcerr;
643
644 sigintr(&smask, INTERRUPT_OK);
645
646 callstat = clnt_call(clnt, NULLPROC,
647 __xdr_rpc_gss_init_arg, (caddr_t)&call_arg,
648 __xdr_rpc_gss_init_res, (caddr_t)&call_res,
649 timeout);
650
651 sigunintr(&smask);
652
653 if (callstat == RPC_SUCCESS) {
654 error = 0;
655 if (isrefresh &&
656 call_res.gss_major == GSS_S_FAILURE) {
657
658 clock_t one_sec = drv_sectohz(1);
659
660 rpcsec_retry--;
661
662 /*
663 * Pause a little and try again.
664 */
665
666 if (clnt->cl_nosignal == TRUE) {
667 delay(one_sec);
668 } else {
669 if (delay_sig(one_sec)) {
670 error = EINTR;
671 break;
672 }
673 }
674 continue;
675 }
676 break;
677 }
678
|