[Toybox] Why O_NONBLOCK? No idea. Why not O_PATH|O_NOFOLLOW? Because reasons.

José Bollo jobol at nonadev.net
Tue May 19 00:33:13 PDT 2015


Hi Rob,

The title of this message comes from a line that you wrote in ls.

The mysterious reason is that when applied on FIFO the openat was
unexpectingly blocking if called without O_NONBLOCK

Please note that the case S_ISSOCK has to be treated in the same way
that the links, using a path because otherwise, the openat call fails.

Also note that openat may fail on other some other (unidentified)
(non-flying) filesystem object whereas getting the security attribute by
the file name succeeds.

So using the path is a remedy in case of a failure of openat.

This last note are as diff in a previous mail.

One time again, thank you for your good work.

Best regards
José



More information about the Toybox mailing list