Thanks, I pushed this all over.
On Tue, Jun 12, 2012 at 04:53:57PM -0700, Ethan Jackson wrote: > Looks good, thanks. > > Ethan > > On Tue, Jun 12, 2012 at 4:45 PM, Ben Pfaff <b...@nicira.com> wrote: > > Found by valgrind. > > > > Signed-off-by: Ben Pfaff <b...@nicira.com> > > --- > > lib/vlog.c | 9 ++++++++- > > 1 files changed, 8 insertions(+), 1 deletions(-) > > > > diff --git a/lib/vlog.c b/lib/vlog.c > > index a7d9e48..899072e 100644 > > --- a/lib/vlog.c > > +++ b/lib/vlog.c > > @@ -477,6 +477,7 @@ vlog_unixctl_reopen(struct unixctl_conn *conn, int argc > > OVS_UNUSED, > > void > > vlog_init(void) > > { > > + static char *program_name_copy; > > time_t now; > > > > if (vlog_inited) { > > @@ -484,7 +485,13 @@ vlog_init(void) > > } > > vlog_inited = true; > > > > - openlog(program_name, LOG_NDELAY, LOG_DAEMON); > > + /* openlog() is allowed to keep the pointer passed in, without making a > > + * copy. The daemonize code sometimes frees and replaces > > 'program_name', > > + * so make a private copy just for openlog(). (We keep a pointer to > > the > > + * private copy to suppress memory leak warnings in case openlog() does > > + * make its own copy.) */ > > + program_name_copy = program_name ? xstrdup(program_name) : NULL; > > + openlog(program_name_copy, LOG_NDELAY, LOG_DAEMON); > > > > now = time_wall(); > > if (now < 0) { > > -- > > 1.7.2.5 > > > > _______________________________________________ > > dev mailing list > > dev@openvswitch.org > > http://openvswitch.org/mailman/listinfo/dev _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev