summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVladislav Grishenko <themiron@yandex-team.ru>2021-03-13 15:17:03 +0500
committerOle Tr�an <otroan@employees.org>2024-04-02 06:56:37 +0000
commitb24ff24da9d1dab962b7590b6324a2135ae46a26 (patch)
tree026b5df53d5c6a6de3bdb616832a042178906586
parente53e29684151330811777135be2d62a564e3664d (diff)
api: fix rx timeout thread busy loop after reconnect
After memclnt api client disconnect, read timeout is set to zero and stays the same even after same client reconnect. It causes client process to spin in timeout loop up to 100% cpu. Fix it by resetting timeout process state upon every (re)connect. Type: fix Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru> Change-Id: I56812972a69c343f869eebbdfebdcbefd3d201e0
-rw-r--r--src/vpp-api/client/client.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/vpp-api/client/client.c b/src/vpp-api/client/client.c
index 7a30792402c..d59273ed6cb 100644
--- a/src/vpp-api/client/client.c
+++ b/src/vpp-api/client/client.c
@@ -305,6 +305,8 @@ vac_connect (char * name, char * chroot_prefix, vac_callback_t cb,
}
/* Start read timeout thread */
+ timeout_in_progress = false;
+ timeout_thread_cancelled = false;
rv = pthread_create(&pm->timeout_thread_handle, NULL,
vac_timeout_thread_fn, 0);
if (rv) {