syslog valiently attempts to detect changes to the underlying file descriptors,
but keeps saving the dirfstat value taken before the log file or console was (re)opened,
so that if the name space does change (eg, by RFCNAMEG) after the first open, it will
never get back in sync and will never use the log file. it needs the value of dirfstat after
each open.
i've added a function to compare the Dir*, since the five-part condition is checked twice.
|