Skip to content

gio-unix: Use EPOLL_CLOEXEC by default

Colin Walters requested to merge walters/glib:use-cloexec-epoll into main

First, there's no reason not to use the new epoll_create1 system call, which quickly obsoleted epoll_create which has an obsolete and unused size argument.

But more specifically, it offers EPOLL_CLOEXEC which we want to use for general hygeine - there's no reason to potentially leak this file descriptor to forked processes.

(GLib itself carefully closes file descriptors when forking child processes, but it may be linked with other software that doesn't; notably in my case for example the Rust standard library does not do this and hence relies more on the application code using O_CLOEXEC and variants)

This is just a drive-by fix; I saw the system call when I was using strace to debug something else in rpm-ostree.

Merge request reports