]> git.ipfire.org Git - thirdparty/curl.git/commit
multi: timeout handles even without connection
authorDaniel Stenberg <daniel@haxx.se>
Thu, 4 Apr 2024 09:14:44 +0000 (11:14 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Mon, 15 Apr 2024 07:49:14 +0000 (09:49 +0200)
commita1ec035afc96cd2f8e9fb56c7d21653815875727
treef9047977fe7df32f321548a9d95c12358352e409
parent6e8a6039b84d0bb78a482d896ec0d00c4e0989ff
multi: timeout handles even without connection

When there is a "change" in a multi handle and pending handles are moved
back to the main list to be retested if they can proceed further (for
example a previous transfer completed or a connection has a confirmed
multiplexed state), the timeout check in multi_runsingle() would not
trigger because it required an established connection.

This could make a pending tranfer go back to pending state even though
it had been "in progress" for a longer time than permitted. By removing
the requirement for an associated connection, the timeout check will be
done proper even for transfers that has not yet been assigned one.

Ref #13227
Reported-by: Rahul Krishna M
Closes #13276
lib/multi.c