Hi Mathi, It seems this patch addressed Ticket #806 as well please do close this ticket also.
ACK from me. -AVM On 7/16/2014 2:07 PM, mathi.naic...@oracle.com wrote: > osaf/libs/core/mds/mds_log.c | 6 +++++- > 1 files changed, 5 insertions(+), 1 deletions(-) > > > localtime is not thread safe and it can(has) cause crashes in services > that are multi threaded. > > diff --git a/osaf/libs/core/mds/mds_log.c b/osaf/libs/core/mds/mds_log.c > --- a/osaf/libs/core/mds/mds_log.c > +++ b/osaf/libs/core/mds/mds_log.c > @@ -188,6 +188,7 @@ void log_mds_dbg(char *fmt, ...) > static void log_mds(const char *str) > { > FILE *fp; > + struct tm *tstamp_data, tm_info; > > if (lf != NULL && ((fp = fopen(lf, "a+")) != NULL)) { > struct timeval tv; > @@ -196,7 +197,10 @@ static void log_mds(const char *str) > int i; > > gettimeofday(&tv, NULL); > - strftime(asc_tod, sizeof(asc_tod), "%b %e %k:%M:%S", > localtime(&tv.tv_sec)); > + tstamp_data = localtime_r(&tv.tv_sec, &tm_info); > + osafassert(tstamp_data); > + > + strftime(asc_tod, sizeof(asc_tod), "%b %e %k:%M:%S", > tstamp_data); > i = snprintf(log_string, sizeof(log_string), "%s.%06ld %s %s", > asc_tod, tv.tv_usec, log_line_prefix, str); > ------------------------------------------------------------------------------ Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel