Files
RedBear-OS/src
Red Bear OS 733da06876 fix(redox): translate POSIX F_DUPFD_CLOEXEC (1030) to Redox syscall ABI (5)
fcntl(F_DUPFD_CLOEXEC) reached redox_rt/kernel with the POSIX/C value 1030
instead of the Redox syscall value (syscall::F_DUPFD_CLOEXEC=5). redox_rt did
not recognize it as a dup, forwarded the raw command to the kernel, and the
kernel's fcntl fell through to its EINVAL catch-all. That made
OwnedFd::try_clone() return EINVAL, which broke tokio Runtime::build() (its I/O
reactor try_clones the epoll fd) for every tokio user on Redox: all the zbus
system daemons (sessiond/polkit/udisks/upower) and the login shell. F_DUPFD and
plain dup worked because they share the same value in both namespaces;
F_DUPFD_CLOEXEC was the sole untranslated command.

Also drop the ineffective epoll_ctl EINVAL/EBADF retry loop: it was based on a
disproven 'transient scheme churn' theory; epoll registrations always succeed
immediately. The real dup failure is fixed above.
2026-07-17 22:59:55 +09:00
..
2026-03-04 22:03:31 +07:00
2026-07-08 10:07:15 +01:00
2026-07-08 10:07:15 +01:00
2026-07-05 19:27:57 +07:00
2026-04-30 19:02:35 -05:00
2026-03-02 10:01:05 +00:00
2023-11-04 18:29:38 +00:00
2024-09-26 16:24:01 +02:00
2026-03-29 14:39:43 +07:00
2026-07-06 16:08:59 +07:00
2026-07-08 10:07:15 +01:00
2026-03-14 03:57:26 +00:00
2026-07-06 16:08:59 +07:00
2026-07-02 08:28:38 +01:00