diff options
author | Vladislav Grishenko <themiron@yandex-team.ru> | 2021-03-13 15:17:03 +0500 |
---|---|---|
committer | Ole Tr�an <otroan@employees.org> | 2024-04-02 06:56:37 +0000 |
commit | b24ff24da9d1dab962b7590b6324a2135ae46a26 (patch) | |
tree | 026b5df53d5c6a6de3bdb616832a042178906586 /src/vpp-api | |
parent | e53e29684151330811777135be2d62a564e3664d (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
Diffstat (limited to 'src/vpp-api')
-rw-r--r-- | src/vpp-api/client/client.c | 2 |
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) { |