Convert local time to gmt time without using TZ Env variable

francois reygagne freygagne at opteway.com
Wed Apr 11 21:50:34 UTC 2001


The ftcs unix mktime use the function tzset to initialize time
conversion information by setting an environment variable. That is not
thread-safe.

As I want to work in multi_threaded design with different time-zone, one

per each thread, I can't use the unix standard fonctions like mktime. I
need a thread-safe function that converts a local-time attached to its
timezone into a GMT time as follow:

    void localtime_to_gmt(const char * timezone,  const struct tm
localtime,  time_t * gmt_time);

The right way to do that is to change TZ, but that is not thread-safe
Is it feasible to recode (public-domain) Olson timezone sources to use
an explicit state parameter rather than relying on global variables ?
Is there a free software portable to Linux RedHat, OSF Tru64, HP_UX and
Sun Solaris 5.8 using olson tzdata which can do that ?
Is there someone who knows the design or have a design document relative
to olson software to help me.


François REYGAGNE. Software Architect.
opt[e]way S.A., 2881 route des Crêtes, BP308
06906 Sophia Antipolis Cedex, FRANCE
tél: +33 (0)4 92 95 27 01
http://www.opteway.com



--
François REYGAGNE. Software Architect.
opt[e]way S.A., 2881 route des Crêtes, BP308
06906 Sophia Antipolis Cedex, FRANCE
tél: +33 (0)4 92 95 27 01    http://www.opteway.com






More information about the tz mailing list