aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 82de726..fd46819 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;
}
}