diff options
Diffstat (limited to 'src/slave/kpropd.c')
-rw-r--r-- | src/slave/kpropd.c | 18 |
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; } } |