__tz_lock
, __tz_unlock
—lock time zone global variables#include "local.h" void __tz_lock (void); void __tz_unlock (void);
Description
The tzset
facility functions call these functions when they need to
ensure the values of global variables. The version of these routines
supplied in the library use the lock API defined in sys/lock.h. If multiple
threads of execution can call the time functions and give up scheduling in
the middle, then you you need to define your own versions of these functions
in order to safely lock the time zone variables during a call. If you do
not, the results of localtime
, mktime
, ctime
, and strftime
are undefined.
The lock __tz_lock
may not be called recursively; that is,
a call __tz_lock
will always lock all subsequent __tz_lock
calls
until the corresponding __tz_unlock
call on the same thread is made.