Der Mann Seite von mktime erwähnte Faden nicht die Sicherheit von mktime, aber es tat dies erwähnen, die es wie ein Faden unsicher aussehen: überIst der Standard C mktime thread unter Linux sicher?
Aufruf mktime() setzt auch die externe Variable tzname mit Informationen die aktuelle Zeitzone.
ich auf Linux wissen Mktime ruft tzset tzname zu setzen, die ein Zeichen ist * []:
extern char * tzname [2];
und tzset wird Umgebungsvariable TZ und Datei/etc/localtime lesen. Wenn also nicht alle diese Operationen von Mktime mit einem Mutex geschützt werden, kann ich nicht sehen, wie es Thread-sicher ist.
möglich Duplikat von [C Zeitfunktion Mehrfach-Thread] (http://stackoverflow.com/questions/18348383/c-time-funktion-multiple-thread) –
@ShafikYaghmour Die vorherige Frage und ihre Antworten konzentrieren sich auf 'asctime' "ctime", "gmtime" und "localtime", die Zeiger auf statische Daten zurückgeben und daher vom Entwurf her Thread-unsicher sind. Diese Frage bezieht sich speziell auf 'mktime', deren Schnittstelle nicht Thread-unsicher ist, aber der von POSIX zusätzlich vorgeschriebene Nebeneffekt könnte sein. Daher ist dies kein Duplikat der vorherigen Frage. – user4815162342
das ist richtig, ich denke die ersten zwei Zeilen sind ein bisschen irreführend, die vorherige Frage hat nichts in Bezug auf mktime beantwortet. – swang