vcl: support pre/post cb before mq wait 01/41801/31
authorFlorin Coras <[email protected]>
Sat, 2 Nov 2024 20:27:53 +0000 (16:27 -0400)
committerDave Wallace <[email protected]>
Tue, 7 Jan 2025 20:25:22 +0000 (20:25 +0000)
commit6102d81832ed93469de64222657a69dcd4e0af5e
treea92ef7507b0d004084ddff6abdfd33bb61f0bbc5
parent3a3476fddb79ed1eaf277bb66c0641933906ef3d
vcl: support pre/post cb before mq wait

Allow vls to register cb functions with vcl pre/post mq sleep. These can
be used to drop/reacquire locks prior/after waiting on vcl mq events.

This then allows multi-thread, as opposed to multi-worker, applications
to share sessions between threads without deadlocking, e.g., multiple
threads trying to read/write/close non-blocking sessions. Caveat:
connects still need to be improved.

Type: improvement

Change-Id: I589aa9dfd0553b0fad54f02ed16c3cda9761a83d
Signed-off-by: Florin Coras <[email protected]>
Signed-off-by: Dave Wallace <[email protected]>
src/vcl/ldp.c
src/vcl/vcl_locked.c
src/vcl/vcl_locked.h
src/vcl/vcl_private.c
src/vcl/vcl_private.h
src/vcl/vppcom.c
test/asf/test_vcl.py