Skip to content

multi: fix polling with pending input#17636

Closed
icing wants to merge 1 commit into
curl:masterfrom
icing:multi-pending-fix
Closed

multi: fix polling with pending input#17636
icing wants to merge 1 commit into
curl:masterfrom
icing:multi-pending-fix

Conversation

@icing

@icing icing commented Jun 16, 2025

Copy link
Copy Markdown
Contributor

When multi creates the pollset of a transfer, it checks now if a connection (FIRST/SECONDARY) socket waits on POLLIN and has input data pending in filters (relevant to OpenSSL's new read ahead). If so, it triggers a timeout on the transfer via EXPIRE_RUN_NOW.

This fixes sporadic stalls in test 988 when running event based.

When multi creates the pollset of a transfer, it checks now if
a connection (FIRST/SECONDARY) socket waits on POLLIN and has
input data pending in filters (relevant to OpenSSL's new read ahead).
If so, it triggers a timeout on the transfer via EXPIRE_RUN_NOW.

This fixes sporadic stalls in test 988 when running event based.
@icing

icing commented Jun 16, 2025

Copy link
Copy Markdown
Contributor Author

@vszakats whenever you have time...😌

@vszakats vszakats closed this in 62349e4 Jun 16, 2025
@vszakats

Copy link
Copy Markdown
Member

And, merged!

vszakats pushed a commit that referenced this pull request Jun 17, 2025
When checking to expire a transfer with input data pending, also assess
the blocked status and do not EXPIRE_RUN_NOW a transfer that is blocked
on READ/WRITE.

Follow-up to 62349e4 #17636

Closes #17639
denandz pushed a commit to denandz/curl that referenced this pull request Jun 21, 2025
When multi creates the pollset of a transfer, it checks now if
a connection (FIRST/SECONDARY) socket waits on POLLIN and has input data
pending in filters (relevant to OpenSSL's new read ahead). If so, it
triggers a timeout on the transfer via EXPIRE_RUN_NOW.

This fixes sporadic stalls in test 988 when running event based.

Closes curl#17636
denandz pushed a commit to denandz/curl that referenced this pull request Jun 21, 2025
When checking to expire a transfer with input data pending, also assess
the blocked status and do not EXPIRE_RUN_NOW a transfer that is blocked
on READ/WRITE.

Follow-up to 62349e4 curl#17636

Closes curl#17639
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants