1
1
Fork 0
mirror of https://github.com/NixOS/nix.git synced 2025-11-17 16:02:43 +01:00

MonitorFdHup: raise explicit SysError rather unreachable

Syscalls can fail for many reasons and we don't want to loose the errno
and error context.

(cherry picked from commit 8e0bc2c3a8)
This commit is contained in:
Jörg Thalheim 2025-03-21 16:23:31 +01:00 committed by Mergify
parent 9883341ea8
commit a00b385d2a

View file

@ -39,8 +39,11 @@ public:
#endif
;
auto count = poll(fds, 1, -1);
if (count == -1)
unreachable();
if (count == -1) {
if (errno == EINTR || errno == EAGAIN)
continue;
throw SysError("failed to poll() in MonitorFdHup");
}
/* This shouldn't happen, but can on macOS due to a bug.
See rdar://37550628.