From: Nathan Skrzypczak Date: Tue, 3 Dec 2019 14:08:27 +0000 (+0100) Subject: quic: fix stream tx_fifo race condition X-Git-Tag: v20.05-rc0~272 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=c9cb8f6d9c6e1f51dfdf3e9f4ba0c9f38d1ca6d6;hp=c9cb8f6d9c6e1f51dfdf3e9f4ba0c9f38d1ca6d6;p=vpp.git quic: fix stream tx_fifo race condition Type: fix There is a race condition in when receiving TX from a client application : As egress_emit writes as much data as possible to the stream, if during egress_emit the app writes to the fifo, the data will be directly passed to quicly. Then TX callback happens and triggers a scheduler update telling quilcy the stream has data to send. When the next egress_emit is called and no more data has come, we have nothing to write, we return len = 0 to quicly which breaks an assert if a loss happens later on. Change-Id: I47e00a14dfc9068b5dac7b5c090a89124aea004f Signed-off-by: Nathan Skrzypczak ---