letsencrypt / letsencrypt/boulder

go1.26: Consider using signal.NotifyContext instead of cmd.CatchSignals

Open
#8,542 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

starter
Dominant language
Go
Stars
5.8k
Forks
649
Avg merge
3d 23h
Merged PRs (30d)
24

Description

We have our own custom scaffolding (cmd.CatchSignals) which listens for certain signals and then calls a cleanup function which is expected (but not required) to cause the process to shut down. It would be more idiomatic, and safer, to use signal.NotifyContext and pass that context into all long-running server routines which need to be shut down by a signal.

Read more: https://antonz.org/go-1-26/#signal-cause

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the custom cmd.CatchSignals scaffolding and tracing the long-running server routines it coordinates. Determine which routines need signal-driven shutdown, then assess replacing the cleanup callback flow with signal.NotifyContext and context propagation; done means the affected servers shut down safely and consistently on signals.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.