Closed egorse closed 9 months ago
Seems https://github.com/go-zeromq/zmq4/blob/e16dc3e41eac7ae42c39a106e3d3ef6512be4245/msgio.go#L168 does not respect ctx cancellation
Seems [like] mwriter.write does not respect ctx cancellation
I am not saying that isn't the case, but why do you think mwriter.write
does not respect ctx
cancellation ?
The ctx passed to it has default 5 minutes timeout - but Send (as in example above) wont return control ever (I was waiting for over 10 minutes. And we step into problems on real app where it was stuck for hours), if reader does not read nor close the reading side. If it would respect parent context - it will return deadline exceeded or something like that
I think the problem is that errgroup.WithContext does not imply the error group would be aborted by parent context cancellation - it must be done explicitly in the Do payload
Even default 5 minutes timeout not working on pair push/pull sockets over ipc://@ if reader does not reads
golang 1.21.4, zmq4 v0.16.0, Ubuntu 20.04.6 LTS