[P1][cli] Rendre la lecture stdin de cleanup annulable #1
Labels
No labels
Agent/Autonomous OK
Agent/Demeter
Agent/Hermes
Agent/Human
Agent/Needs Review
Area/API
Area/Auth
Area/CLI
Area/Data
Area/Docs
Area/Infra
Area/UI
CI/Failing
CI/Flaky
CI/Green
CI/Needs Runner
CI/Needs Workflow
Compat/Backward Compatible
Compat/Breaking
Compat/Migration
Deploy/Ansible
Deploy/Blocked
Deploy/Homelab
Deploy/Needs Config
Deploy/Needs Secret
Deploy/Ready
Deploy/Rollback
Kind/Bug
Kind/Chore
Kind/Design
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Refactor
Kind/Security
Kind/Spike
Kind/Testing
Ops/Backup
Ops/Incident
Ops/Maintenance
Ops/Monitoring
Ops/Upgrade
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Priority
Someday
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Risk
Critical
Risk
High
Risk
Low
Risk
Medium
Security/Auth
Security/Disclosure
Security/Hardening
Security/Secret
Size
L
Size
M
Size
S
Size
XL
Size
XS
Stack/Ansible
Stack/Docker
Stack/Forgejo
Stack/Hermes
Stack/Node
Stack/Postgres
Stack/Python
Stack/Systemd
Status
Abandoned
Status
Blocked
Status
In Progress
Status
In Review
Status
Need More Info
Status
Ready
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
2027a/murmur#1
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Constat
cleanupintercepte SIGINT/SIGTERM/SIGHUP via le contexte global, mais reste bloqué dansio.ReadAll(io.LimitReader(...))tant que le producteur garde stdin ouvert (internal/cli/composable.go:165-186,cmd/murmur/main.go:18-20). Le contexte n'est consulté qu'après EOF.Tâche
Implémenter une lecture bornée et annulable sans goroutine abandonnée. Fermer stdin uniquement quand le processus en est propriétaire; utiliser le contrat
CancelReadpour les lecteurs injectés.Critères d'acceptation
cancelled, code de sortie 1.Validation
go test -race ./internal/cli ./internal/acceptance && go test ./...Correctif proposé dans la PR #41 (mathieu/murmur#41). Les validations ciblées sous race sont détaillées dans la PR.
Correctif proposé dans la PR #41 : mathieu/murmur#41. Cette PR est empilée sur la PR #44 afin de rester compatible avec les invariants d’événements.