From: liuyacan Date: Sun, 25 Apr 2021 12:11:30 +0000 (+0800) Subject: session: fix race condition in fifo allocation X-Git-Tag: v21.10-rc0~195 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=9f299030fd1214eb1fc076cf0c7f44559a7c8f6b;hp=9f299030fd1214eb1fc076cf0c7f44559a7c8f6b;p=vpp.git session: fix race condition in fifo allocation Under some timing conditions,VCL may receive CONNECTED/ACCEPTED event before ADD_SEGMENT event. Timing example: 2 threads call segment_manager_alloc_session_fifos() parallelly Thread 1 Thread 2 sm read lock | | | try to alloc fifo =>failed | | | sm read unlock | | | sm write lock | | | add segment | | | sm write unlock | | sm read lock | | | try to alloc fifo=>successful sm read lock | | sm read unlock | | | emit CONNECTED/ACCEPTED emit ADD_SEGMENT event | sm read unlock This commit move ADD_SEGMENT notification under the protection of the write lock in some scenarios. Type: fix Signed-off-by: liuyacan Change-Id: I25d5475c5e6d37cfccefa9506f6030c26ce8ee9b ---