summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@mit.edu>2008-06-23 23:43:27 +0000
committerKen Raeburn <raeburn@mit.edu>2008-06-23 23:43:27 +0000
commit52feff78c7fa85b2654809fc0a0844b0c9eb631e (patch)
tree0ab69c8078ef3275b99a3ad27f3592b607e43f70
parentfa65fb7978448e8fc6a3d15d7ab937ae83302c8a (diff)
downloadkrb5-sun-iprop.tar.gz
On failures other than bad parameters in the config file, sleep andsun-iprop
then try again, rather than exiting. This includes the case of not being able to reach a KDC to get credentials. git-svn-id: svn://anonsvn.mit.edu/krb5/branches/sun-iprop@20463 dc483132-0cff-0310-8789-dd5450dbe970
-rw-r--r--src/slave/kpropd.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/slave/kpropd.c b/src/slave/kpropd.c
index 82de726b5..fd46819a1 100644
--- a/src/slave/kpropd.c
+++ b/src/slave/kpropd.c
@@ -632,13 +632,21 @@ reinit:
(void) sleep(backoff_time);
goto reinit;
} else {
+ if (retval == KADM5_BAD_CLIENT_PARAMS ||
+ retval == KADM5_BAD_SERVER_PARAMS) {
+ com_err(progname, retval,
+ _("while initializing %s interface"),
+ progname);
+
+ usage();
+ }
+ reinit_cnt++;
com_err(progname, retval,
- _("while initializing %s interface"),
+ _("while initializing %s interface, retrying"),
progname);
- if (retval == KADM5_BAD_CLIENT_PARAMS ||
- retval == KADM5_BAD_SERVER_PARAMS)
- usage();
- exit(1);
+ backoff_time = backoff_from_master(&reinit_cnt);
+ sleep(backoff_time);
+ goto reinit;
}
}