diff --git a/zebra/label_manager.c b/zebra/label_manager.c index 1b17845e41..16d45836e0 100644 --- a/zebra/label_manager.c +++ b/zebra/label_manager.c @@ -156,11 +156,9 @@ static int lm_zclient_read(struct thread *t) /* read response and send it back */ ret = relay_response_back(); - /* on error, schedule another read */ - if (ret == -1) - if (!zclient->t_read) - thread_add_read(zclient->master, lm_zclient_read, NULL, - zclient->sock, &zclient->t_read); + /* re-arm read */ + thread_add_read(zclient->master, lm_zclient_read, NULL, + zclient->sock, &zclient->t_read); return ret; }