CODING_STYLE: document why O_NONBLOCK makes sense when opening regular files, too

This commit is contained in:
Lennart Poettering 2018-03-09 21:35:48 +01:00
parent 106f12a08f
commit fda8a89046
1 changed files with 10 additions and 0 deletions

View File

@ -440,3 +440,13 @@
string, always apply the C-style unescaping fist, followed by the specifier
expansion. When doing the reverse, make sure to escape '%' in specifier-style
first (i.e. '%' → '%%'), and then do C-style escaping where necessary.
- It's a good idea to use O_NONBLOCK when opening 'foreign' regular files, i.e
file system objects that are supposed to be regular files whose paths where
specified by the user and hence might actually refer to other types of file
system objects. This is a good idea so that we don't end up blocking on
'strange' file nodes, for example if the user pointed us to a FIFO or device
node which may block when opening. Moreover even for actual regular files
O_NONBLOCK has a benefit: it bypasses any mandatory lock that might be in
effect on the regular file. If in doubt consider turning off O_NONBLOCK again
after opening.