Looks like the fix for CA-295097 was not enough.
By reading source code of Lwt I noticed that ch.blocking is a lazy
value, and it is only forced by wrap_syscall (implicitly called by the other Lwt_unix IO functions).
Do the same for our direct copy/sendfile wrapper, call wrap_syscall to
ensure blocking mode is updated if needed.
This still needs testing, which we'll get to later today, opened PR to see if you have some thoughts on this.
Looks like the fix for CA-295097 was not enough. By reading source code of Lwt I noticed that ch.blocking is a
lazy
value, and it is only forced bywrap_syscall
(implicitly called by the other Lwt_unix IO functions). Do the same for our direct copy/sendfile wrapper, callwrap_syscall
to ensure blocking mode is updated if needed.This still needs testing, which we'll get to later today, opened PR to see if you have some thoughts on this.
/cc @TimSmithCtx