osaf/services/saf/amf/amfwdog/amf_wdog.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/services/saf/amf/amfwdog/amf_wdog.c
b/osaf/services/saf/amf/amfwdog/amf_wdog.c
--- a/osaf/services/saf/amf/amfwdog/amf_wdog.c
+++ b/osaf/services/saf/amf/amfwdog/amf_wdog.c
@@ -86,14 +86,18 @@ static void amf_healthcheck_callback(SaI
SaAisErrorT rc;
time_t local_time;
static int healthcheck_count;
+ struct tm *tstamp_data, tm_info;
healthcheck_count++;
/* Store latest health check trace */
local_time = time(NULL);
+ tstamp_data = localtime_r(&local_time, &tm_info);
+ osafassert(tstamp_data);
+
snprintf(latest_healthcheck_trace, sizeof(latest_healthcheck_trace),
"Last received healthcheck cnt=%u at %s",
- healthcheck_count, asctime(localtime(&local_time)));
+ healthcheck_count, asctime(tstamp_data));
rc = saAmfResponse(amf_hdl, inv, SA_AIS_OK);
if (SA_AIS_OK != rc) {
------------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel