On Thu Mar 27 21:18:51 2025 +0000, Loïc Rebmeister wrote:
Yeah the code control flow now make more sense, the
if ((errno == EOPNOTSUPP || errno == ENXIO) && S_ISSOCK(st.st_mode) && (options & FILE_DELETE_ON_CLOSE)) ; else
can be replaced with
if (!((errno == EOPNOTSUPP || errno == ENXIO) && S_ISSOCK(st.st_mode) && (options & FILE_DELETE_ON_CLOSE)))
But that is just a cosmetic change. Also, I am not sure putting `S_ISSOCK(st.st_mode)` in a separate branch was necessary, I think the original commit relied on AF_UNIX deletion going thru regular deletion code path.
The extra branch has been removed again, the if ... branch for sockets has been left in with a note to make this special case transparent.