diff --git a/CHANGELOG b/CHANGELOG index 32a29d3..125c4c8 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -5,6 +5,8 @@ - [BUGFIX] sendctl checks for all unacked bytes, not just retx bytes. - [BUGFIX] connections with blocked scheduled packets are not tickable for sending. + - [BUGFIX] Conn is tickable if it wants to send a connection-level + frame. 2018-04-23 diff --git a/src/liblsquic/lsquic_full_conn.c b/src/liblsquic/lsquic_full_conn.c index 504b0e8..3681c2f 100644 --- a/src/liblsquic/lsquic_full_conn.c +++ b/src/liblsquic/lsquic_full_conn.c @@ -3328,6 +3328,9 @@ full_conn_ci_is_tickable (lsquic_conn_t *lconn) && (should_generate_ack(conn) || !lsquic_send_ctl_sched_is_blocked(&conn->fc_send_ctl))) { + if (conn->fc_flags & (FC_SEND_GOAWAY|FC_SEND_STOP_WAITING + |FC_SEND_PING|FC_SEND_WUF)) + return 1; if (lsquic_send_ctl_has_buffered(&conn->fc_send_ctl)) return 1; if (!TAILQ_EMPTY(&conn->fc_pub.sending_streams))