vcl: fix deadlock in rpc 49/30549/13
authorwanghanlin <wanghanlin@corp.netease.com>
Mon, 28 Dec 2020 08:19:05 +0000 (16:19 +0800)
committerFlorin Coras <florin.coras@gmail.com>
Mon, 11 Jan 2021 19:50:47 +0000 (19:50 +0000)
commitdcacdc4fd90d6cc71aaafccbca3ea91c7481ddbd
tree9b7abc60a57e8d0640027d15e3584fe413c79b79
parent56177e64b620b93d3d935cd1f1663e2f7f1e5592
vcl: fix deadlock in rpc

Worker thread A send rpc to worker thread B with vls_table_lock when
worker thread B try to lock vls_table_lock, so unlock it temporarily.
Add worker_rpc_lock to synchronize rpc message among workers to prevent
waiting for each other deadly.
Add timeout for rpc response to prevent hanging when VPP exit/crash.

Type: fix

Signed-off-by: wanghanlin <wanghanlin@corp.netease.com>
Change-Id: I675f1fe76673ede09107f6eeaaa0eda8bbfc6e61
src/vcl/vcl_locked.c
src/vcl/vcl_locked.h