swa*_*ang 7 c linux thread-safety
mktime的手册页没有提到mktime的线程安全性,但它确实提到了这看起来像线程不安全:
调用mktime()还会将外部变量tzname设置为有关当前时区的信息.
我知道在Linux上mktime调用tzset来设置tzname,这是一个char*[]:
extern char*tzname [2];
和tzset将读取环境变量TZ和文件/ etc/localtime.因此,除非mktime使用互斥锁来保护所有这些操作,否则我无法看到它是如何保证线程安全的.