Ack, code review only. Thanks, Praveen On 16-Jul-14 2:07 PM, mathi.naic...@oracle.com wrote: > osaf/services/saf/ntfsv/ntfs/ntfs_evt.c | 6 +++++- > osaf/tools/safntf/src/ntfclient.c | 6 +++++- > 2 files changed, 10 insertions(+), 2 deletions(-) > > > localtime is not thread safe and it can(has) cause crashes in services > that are multi threaded. > > diff --git a/osaf/services/saf/ntfsv/ntfs/ntfs_evt.c > b/osaf/services/saf/ntfsv/ntfs/ntfs_evt.c > --- a/osaf/services/saf/ntfsv/ntfs/ntfs_evt.c > +++ b/osaf/services/saf/ntfsv/ntfs/ntfs_evt.c > @@ -336,6 +336,7 @@ static void print_header(SaNtfNotificati > SaTimeT totalTime; > SaTimeT ntfTime = (SaTimeT)0; > char time_str[24]; > + struct tm *tstamp_data, tm_info; > > /* Event type */ > TRACE_1("eventType = %d", (int)*notificationHeader->eventType); > @@ -355,7 +356,10 @@ static void print_header(SaNtfNotificati > ntfTime = *notificationHeader->eventTime; > > totalTime = (ntfTime / (SaTimeT)SA_TIME_ONE_SECOND); > - (void)strftime(time_str, sizeof(time_str), "%d-%m-%Y %T", > localtime((const time_t *)&totalTime)); > + tstamp_data = localtime_r((const time_t *)&totalTime, &tm_info); > + osafassert(tstamp_data); > + > + (void)strftime(time_str, sizeof(time_str), "%d-%m-%Y %T", tstamp_data); > > TRACE_1("eventTime = %lld = %s\n", (SaTimeT)ntfTime, time_str); > > diff --git a/osaf/tools/safntf/src/ntfclient.c > b/osaf/tools/safntf/src/ntfclient.c > --- a/osaf/tools/safntf/src/ntfclient.c > +++ b/osaf/tools/safntf/src/ntfclient.c > @@ -748,10 +748,14 @@ static char *event_time(SaTimeT eventTim > { > time_t time_in_secs; > static char time_str[32]; > + struct tm *tstamp_data, tm_info; > > time_in_secs = (eventTime / (SaTimeT) SA_TIME_ONE_SECOND); > + tstamp_data = localtime_r(&time_in_secs, &tm_info); > + osafassert(tstamp_data); > + > (void)strftime(time_str, sizeof(time_str), "%b %e %k:%M:%S", > - localtime(&time_in_secs)); > + tstamp_data); > > return time_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