aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorSean Eric Fagan <sef@FreeBSD.org>2019-02-21 01:30:37 +0000
committerSean Eric Fagan <sef@FreeBSD.org>2019-02-21 01:30:37 +0000
commitc6da8eb21f495264af40fc4cd4bb336be0efab13 (patch)
tree1e4afad613e00d4c7d212f52b30f27235112ca0e /sys
parentcd6518c76586184e17864af336ff4145df9e4832 (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/kgssapi/gss_impl.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/kgssapi/gss_impl.c b/sys/kgssapi/gss_impl.c
index 8ed984484809..4359c9edc07b 100644
--- a/sys/kgssapi/gss_impl.c
+++ b/sys/kgssapi/gss_impl.c
@@ -112,6 +112,15 @@ sys_gssd_syscall(struct thread *td, struct gssd_syscall_args *uap)
cl = clnt_reconnect_create(nconf,
(struct sockaddr *) &sun, GSSD, GSSDVERS,
RPC_MAXDATASIZE, RPC_MAXDATASIZE);
+ /*
+ * The number of retries defaults to INT_MAX, which effectively
+ * means an infinite, uninterruptable loop. Limiting it to
+ * five retries keeps it from running forever.
+ */
+ if (cl != NULL) {
+ int retry_count = 5;
+ CLNT_CONTROL(cl, CLSET_RETRIES, &retry_count);
+ }
} else
cl = NULL;