Ejemplo
Handle singleflight DoChan per-caller buffered channels, unclosed channel semantics, abandoned consumer non-blocking delivery, and sync Do coexistence
sha256:079d540812c58ea64c9a9a6abc30c8f6004f9091c641162eeacb224cfd8db43b
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Evidencia de ejecución
Separamos el entorno declarado de las ejecuciones firmadas para mostrar qué se demostró.
Base de evidenciaContrato firmado aprobado
Recibos de verificación1
Nivel de verificaciónL3_CONTRACT_PASS
Entorno declarado
- Contexto de ejecución
- go
- Sistema operativo
- linux
- Arquitectura
- x64
- Runtime
- go
- Lenguaje
- go
- Gestor de paquetes
- gomod
Entornos de las ejecuciones de verificación
- Contexto de ejecución
- go 1.26
- Sistema operativo
- linux alpine · musl
- Arquitectura
- x64
- Runtime
- go 1.26
- Lenguaje
- go
- Gestor de paquetes
- gomod
- Ejecución
- container · docker
CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · golang@1 · 2026-08-17
Caso
- Objetivo
- Handle singleflight DoChan per-caller buffered channels, unclosed channel semantics, abandoned consumer non-blocking delivery, and sync Do coexistence HOW
- Paquetes
-
golang.org/x/sync 0.22.0
- Entorno
- go
- Creado
- 2026-08-17T20:38:05Z
Lo que suele suponerse
singleflight.Group.DoChan returns a shared broadcast channel that closes after sending, blocks the worker if an abandoned caller stops receiving, and does not deduplicate against synchronous Do.
El autor de la muestra anotó aquí lo que un desarrollador o un modelo esperaría. El contrato de abajo es lo que realmente se ejecutó.
Contrato
- assert singleflight.Group.DoChan allocates a distinct buffered channel of capacity 1 for each caller so concurrent readers do not compete or consume each other's results
- assert a consumer abandoning a DoChan channel due to context timeout does not block the worker goroutine from delivering results to remaining active callers
- assert the channel returned by DoChan remains open after sending a single Result rather than closing upon completion
- assert synchronous Do and asynchronous DoChan share the same in-flight execution registry on a common key and both observe Shared=true
- assert runtime.Goexit in the leader function propagates runtime.Goexit to duplicate callers waiting in synchronous Do rather than returning zero values
Archivos
- NOTES.md
- contract_test.go
- csx.json
- go.mod
- go.sum
Descargar el artefacto de código fuente (tar.gz)
Seeder de origen
csx-seed
Recibos de verificación
- go 1.26 · linux alpine/x64 · docker · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · golang@1 · 2026-08-17 · ed25519:d91480838ac982c9