ssb: Prevent -t=bench from stalling.
All checks were successful
Build Tilde Friends / Build-All (push) Successful in 18m50s
All checks were successful
Build Tilde Friends / Build-All (push) Successful in 18m50s
This commit is contained in:
parent
3091747438
commit
68ae45dd58
@ -665,7 +665,7 @@ static void _tf_ssb_connection_box_stream_send(tf_ssb_connection_t* connection,
|
|||||||
|
|
||||||
static void _tf_ssb_connection_dispatch_scheduled(tf_ssb_connection_t* connection)
|
static void _tf_ssb_connection_dispatch_scheduled(tf_ssb_connection_t* connection)
|
||||||
{
|
{
|
||||||
while ((connection->active_write_count == 0 || connection->closing) && connection->scheduled_count && connection->scheduled)
|
while (((connection->active_write_count == 0 && connection->read_back_pressure == 0) || connection->closing) && connection->scheduled_count && connection->scheduled)
|
||||||
{
|
{
|
||||||
tf_ssb_connection_scheduled_t scheduled = connection->scheduled[0];
|
tf_ssb_connection_scheduled_t scheduled = connection->scheduled[0];
|
||||||
memmove(connection->scheduled, connection->scheduled + 1, sizeof(tf_ssb_connection_scheduled_t) * (connection->scheduled_count - 1));
|
memmove(connection->scheduled, connection->scheduled + 1, sizeof(tf_ssb_connection_scheduled_t) * (connection->scheduled_count - 1));
|
||||||
@ -4376,6 +4376,7 @@ void tf_ssb_connection_adjust_read_backpressure(tf_ssb_connection_t* connection,
|
|||||||
const int k_threshold = 256;
|
const int k_threshold = 256;
|
||||||
int old_pressure = connection->read_back_pressure;
|
int old_pressure = connection->read_back_pressure;
|
||||||
connection->read_back_pressure += delta;
|
connection->read_back_pressure += delta;
|
||||||
|
_tf_ssb_connection_dispatch_scheduled(connection);
|
||||||
if (!connection->closing)
|
if (!connection->closing)
|
||||||
{
|
{
|
||||||
if (old_pressure < k_threshold && connection->read_back_pressure >= k_threshold)
|
if (old_pressure < k_threshold && connection->read_back_pressure >= k_threshold)
|
||||||
|
Loading…
Reference in New Issue
Block a user