Looks good. Ethan
On Fri, Oct 14, 2011 at 11:37, Ben Pfaff <[email protected]> wrote: > Avoids redundant "closing log file"/"opened log file" messages in log files. > > Reported-by: Reid Price <[email protected]> > Bug #7750. > --- > lib/vlog.c | 21 ++++++++++++++++++++- > 1 files changed, 20 insertions(+), 1 deletions(-) > > diff --git a/lib/vlog.c b/lib/vlog.c > index 301473c..11b2f7c 100644 > --- a/lib/vlog.c > +++ b/lib/vlog.c > @@ -22,6 +22,7 @@ > #include <stdarg.h> > #include <stdlib.h> > #include <string.h> > +#include <sys/stat.h> > #include <sys/types.h> > #include <syslog.h> > #include <time.h> > @@ -322,7 +323,25 @@ vlog_set_log_file(const char *file_name) > int > vlog_reopen_log_file(void) > { > - return log_file_name ? vlog_set_log_file(log_file_name) : 0; > + struct stat old, new; > + > + /* Skip re-opening if there's nothing to reopen. */ > + if (!log_file_name) { > + return 0; > + } > + > + /* Skip re-opening if it would be a no-op because the old and new files > are > + * the same. (This avoids writing "closing log file" followed > immediately > + * by "opened log file".) */ > + if (log_file > + && !fstat(fileno(log_file), &old) > + && !stat(log_file_name, &new) > + && old.st_dev == new.st_dev > + && old.st_ino == new.st_ino) { > + return 0; > + } > + > + return vlog_set_log_file(log_file_name); > } > > /* Set debugging levels: > -- > 1.7.4.4 > > _______________________________________________ > dev mailing list > [email protected] > http://openvswitch.org/mailman/listinfo/dev > _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
