Skip to content

glib-unix: Clean up use of O_NONBLOCK

Simon McVittie requested to merge wip/smcv/o-nonblock into main
  • glib-unix: Assert that O_NONBLOCK and FD_CLOEXEC are numerically distinct

    Since 5c65437d "glib-unix: Add O_NONBLOCK support to g_unix_open_pipe()" we have effectively been assuming that these two flags are distinguishable. If that's an assumption we want to make, we should make it a static assertion, so that GLib will fail to compile on platforms where it isn't true.

  • glib-unix: Don't fall back from O_NONBLOCK to O_NDELAY

    Since 5c65437d "glib-unix: Add O_NONBLOCK support to g_unix_open_pipe()" we have been using O_NONBLOCK unconditionally, so we might as well drop the fallback here as well. This commit should be reverted if someone reports a significant/supported platform that genuinely doesn't have O_NONBLOCK.


I think we need to either do something similar to the first commit, or revert this part of !3347 (merged) as not possible to implement in a reasonable way...

/cc @pwithnall

Merge request reports