Navigation Menu

Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

multi: make multi_perform ignore/unignore signals less often #10750

Closed
wants to merge 3 commits into from

Conversation

bagder
Copy link
Member

@bagder bagder commented Mar 12, 2023

Ref: #10743

@bagder
Copy link
Member Author

bagder commented Mar 12, 2023

too simple approach, need to rethink

@jay
Copy link
Member

jay commented Mar 13, 2023

too simple approach, need to rethink

looks fine, what am i missing?

@bagder
Copy link
Member Author

bagder commented Mar 13, 2023

Each easy handle has its own CURLOPT_NOSIGNAL set individually. We cannot switch off/on like this for all easy handles.

@bagder bagder force-pushed the bagder/multi-perform-ignore branch from 69a2962 to 087c6bd Compare March 13, 2023 08:45
@bagder bagder closed this in bc90308 Mar 13, 2023
@bagder bagder deleted the bagder/multi-perform-ignore branch March 13, 2023 22:04
bagder added a commit that referenced this pull request Apr 27, 2023
The multi-ignore logic that previously applied to curl_multi_perform()
(#10750) is here applied to the loop within curl_multi_socket_action()
to make it use the same optimization: most handles have the same
signal-ignore option state so this drastically reduces the number of
ignore/unignore calls per libcurl function invoke.

Follow-up to bc90308
bagder added a commit that referenced this pull request Apr 27, 2023
The multi-ignore logic that was previously applied to
curl_multi_perform() (#10750) is here applied to the loop within
curl_multi_socket_action() to make it use the same optimization: most
handles have the same signal-ignore option state so this drastically
reduces the number of ignore/unignore calls per libcurl function invoke.

Follow-up to bc90308
bagder added a commit that referenced this pull request Apr 28, 2023
The multi-ignore logic that was previously applied to
curl_multi_perform() (#10750) is here applied to the loop within
curl_multi_socket_action() to make it use the same optimization: most
handles have the same signal-ignore option state so this drastically
reduces the number of ignore/unignore calls per libcurl function invoke.

Follow-up to bc90308

Closes #11045
bch pushed a commit to bch/curl that referenced this pull request Jul 19, 2023
For improved performance

Reported-by: Jerome St-Louis
Ref: curl#10743
Closes curl#10750
bch pushed a commit to bch/curl that referenced this pull request Jul 19, 2023
The multi-ignore logic that was previously applied to
curl_multi_perform() (curl#10750) is here applied to the loop within
curl_multi_socket_action() to make it use the same optimization: most
handles have the same signal-ignore option state so this drastically
reduces the number of ignore/unignore calls per libcurl function invoke.

Follow-up to bc90308

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

Successfully merging this pull request may close these issues.

None yet

2 participants