[P1][wav] Rendre la création du snapshot finale annulable #7

Open
opened 2026-07-31 21:05:11 +00:00 by mathieu · 1 comment
Owner

Constat

Après le dernier contrôle du contexte, wav.Open peut copier jusqu'à presque 4 Gio vers un memfd avec io.CopyN non annulable (internal/audio/pwrecord/pwrecord.go:207-228, internal/audio/wav/snapshot_linux.go:22-49). En live, le caller peut retourner tandis que la copie continue.

Tâche

Ajouter un chemin d'ouverture/snapshot contextuel avec copie bornée par chunks et contrôles d'annulation. Fermer tout memfd partiel avant retour.

Critères d'acceptation

  • Une annulation pendant la copie retourne promptement sans WavFile.
  • Aucun descripteur ou répertoire de capture ne fuit.
  • Le snapshot non annulé reste identique et scellé.

Validation

go test -race ./internal/audio/wav ./internal/audio/pwrecord

## Constat Après le dernier contrôle du contexte, `wav.Open` peut copier jusqu'à presque 4 Gio vers un memfd avec `io.CopyN` non annulable (`internal/audio/pwrecord/pwrecord.go:207-228`, `internal/audio/wav/snapshot_linux.go:22-49`). En live, le caller peut retourner tandis que la copie continue. ## Tâche Ajouter un chemin d'ouverture/snapshot contextuel avec copie bornée par chunks et contrôles d'annulation. Fermer tout memfd partiel avant retour. ## Critères d'acceptation - Une annulation pendant la copie retourne promptement sans `WavFile`. - Aucun descripteur ou répertoire de capture ne fuit. - Le snapshot non annulé reste identique et scellé. ## Validation `go test -race ./internal/audio/wav ./internal/audio/pwrecord`

Correctif proposé et validé dans la PR #43 : #43.

Correctif proposé et validé dans la PR #43 : https://git.2027a.net/mathieu/murmur/pulls/43.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
mathieu/murmur#7
No description provided.