Closed
Description
It turns out that libuv processes register SIGCHLD handlers, but these handlers aren't registered with SA_RESTART, so when we receive a SIGCHLD syscalls are interrupted and std::io
doesn't handle the EINTR
return value. Currently the tests which exercise libuv process bindings are ignored, and they currently aren't used anywhere else in the code.
We have two options to un-ignore these tests
- Teach all of
std::io
and variouslibc
bindings to handleEINTR
- Wait for
std::io
to be removed.
I'm in favor of option 2, but mainly just because it means that it's less effort :)
Metadata
Metadata
Assignees
Labels
No labels