Skip to content

cshutdown: make it smaller - #22862

Closed
icing wants to merge 3 commits into
curl:masterfrom
icing:cshutdown-tweaks
Closed

icing wants to merge 3 commits into
curl:masterfrom
icing:cshutdown-tweaks

Conversation

@icing

@icing icing commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Remove the members multi * and initialized, passing multi or admin handles as parameters.

When adding, pass a "max_keep" number to cshutdown for limiting growth. conncache calculates that based on multi settings and current pool size.

Remove the members `multi *` and `initialized`, passing multi or
admin handles as parameters.

When adding, pass a "max_keep" number to cshutdown for limiting
growth. conncache calculates that based on multi settings and
current pool size.
@icing
icing requested a review from bagder September 7, 2026 15:59
@bagder
bagder requested a balanced review from Copilot September 7, 2026 17:42

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The new unlimited-pool shutdown cap lacks regression coverage.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Refactors connection shutdown management to reduce cshutdn state and bound pending shutdown growth.

Changes:

  • Pass multi/admin handles explicitly.
  • Remove redundant initialization state.
  • Calculate shutdown limits from pool configuration and size.
File summaries
File Description
lib/multi.c Initializes shutdown state and passes admin handles.
lib/cshutdn.h Updates shutdown structure and APIs.
lib/cshutdn.c Implements stateless handle passing and shutdown limits.
lib/conncache.c Calculates and applies pending-shutdown caps.
Review details
  • Files reviewed: 4/4 changed files
  • Comments generated: 1
  • Review effort level: Balanced

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread lib/conncache.c
Comment on lines +232 to +234
else /* no connection limit set, let's restrict growth nevertheless */
max_shutdowns = CURLMAX(cpool->num_conn / 4, 128);
Curl_cshutdn_add(&multi->cshutdn, multi, conn, max_shutdowns);
@bagder bagder closed this in 04692d3 Sep 7, 2026
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.

3 participants