Files
Tonis Tiigi f4baadb3d4 solver: read pipe request under lock in Finalize
sender.Finalize read pw.req.Canceled without pw.mu while the scheduler
goroutine could update the request through receiver.Cancel ->
setRequest at the same time. This happened when the request function
returned a cancellation error of its own while the receiver cancelled.
Use the locked Request() accessor.

Add a test that cancels concurrently with a function returning
context.Canceled; it reports the race under -race without the fix.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2026-10-25 20:08:26 -07:00
..