summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2019-04-09 08:38:02 -0400
committerGitHub <noreply@github.com>2019-04-09 08:38:02 -0400
commit977e9f37914715390c6aefdc00cd8082e6f7f8b2 (patch)
tree26e7fe5eac910414b4a676f8b218b166acd00424
parent2e4f15a0ded98e5990f096ded131029446225ea7 (diff)
parent98e9ab8b31804593a140fd147450d455bd26ed4a (diff)
Merge pull request #4095 from pacovn/201904_master__lm_aliasing_fixes
zebra: label manager race condition fix
-rw-r--r--zebra/label_manager.c8
1 files changed, 3 insertions, 5 deletions
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;
}