diff options
Diffstat (limited to 'build/external/patches/quicly_0.1.0-vpp/0001-quicly-send-assert-consistency.patch')
-rw-r--r-- | build/external/patches/quicly_0.1.0-vpp/0001-quicly-send-assert-consistency.patch | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/build/external/patches/quicly_0.1.0-vpp/0001-quicly-send-assert-consistency.patch b/build/external/patches/quicly_0.1.0-vpp/0001-quicly-send-assert-consistency.patch new file mode 100644 index 00000000000..2e0caaf1c9b --- /dev/null +++ b/build/external/patches/quicly_0.1.0-vpp/0001-quicly-send-assert-consistency.patch @@ -0,0 +1,21 @@ +diff --git a/lib/quicly.c b/lib/quicly.c +index 71fa149..668677f 100644 +--- a/lib/quicly.c ++++ b/lib/quicly.c +@@ -3631,10 +3631,14 @@ int quicly_send(quicly_conn_t *conn, quicly_datagram_t **packets, size_t *num_pa + * progress (i.e. due to the payload of lost packet being cancelled), then PTO for the previously sent packet. To accomodate + * that, we allow to rerun the do_send function just once. + */ +- if (s.num_packets == 0 && conn->egress.loss.alarm_at <= now) { ++ if (conn->egress.loss.alarm_at <= now) { + assert(conn->egress.loss.alarm_at == now); +- if ((ret = do_send(conn, &s)) != 0) +- return ret; ++ if (s.num_packets == 0) { ++ if ((ret = do_send(conn, &s)) != 0) ++ return ret; ++ } else { ++ conn->egress.loss.alarm_at = now + 1; ++ } + } + assert_consistency(conn, 1); |