Mercurial > hg > graal-compiler
diff src/share/vm/runtime/os.cpp @ 548:773234c55e8c
6800586: -XX:+PrintGCDateStamps is using mt-unsafe localtime function
Summary: replaced localtime() with localtime_r() on Solaris and Linux.
Reviewed-by: apetrusenko, dholmes, jmasa
author | ysr |
---|---|
date | Mon, 09 Feb 2009 12:26:05 -0800 |
parents | 24fda36852ce |
children | 0fbdb4381b99 98cb887364d3 c6c601a0f2d6 |
line wrap: on
line diff
--- a/src/share/vm/runtime/os.cpp Mon Feb 09 17:33:06 2009 +0300 +++ b/src/share/vm/runtime/os.cpp Mon Feb 09 12:26:05 2009 -0800 @@ -74,13 +74,11 @@ const int milliseconds_after_second = milliseconds_since_19700101 % milliseconds_per_microsecond; // Convert the time value to a tm and timezone variable - const struct tm *time_struct_temp = localtime(&seconds_since_19700101); - if (time_struct_temp == NULL) { - assert(false, "Failed localtime"); + struct tm time_struct; + if (localtime_pd(&seconds_since_19700101, &time_struct) == NULL) { + assert(false, "Failed localtime_pd"); return NULL; } - // Save the results of localtime - const struct tm time_struct = *time_struct_temp; const time_t zone = timezone; // If daylight savings time is in effect, @@ -93,10 +91,10 @@ UTC_to_local = UTC_to_local - seconds_per_hour; } // Compute the time zone offset. - // localtime(3C) sets timezone to the difference (in seconds) + // localtime_pd() sets timezone to the difference (in seconds) // between UTC and and local time. // ISO 8601 says we need the difference between local time and UTC, - // we change the sign of the localtime(3C) result. + // we change the sign of the localtime_pd() result. const time_t local_to_UTC = -(UTC_to_local); // Then we have to figure out if if we are ahead (+) or behind (-) UTC. char sign_local_to_UTC = '+';