La pagina man di mktime non ha menzionato la sicurezza filo di mktime, ma ha fatto parlare di questo, che fanno sembrare come un filo pericoloso:È standard C mktime thread safe su linux?
Calling mktime() imposta anche il tzname variabile esterna con informazioni su il fuso orario attuale.
So su Linux mktime chiamate tzset per impostare tzname, che è un char * []:
extern char * tzname [2];
e tzset leggeranno la variabile di ambiente TZ e il file/etc/localtime. Quindi, a meno che mktime non usi un mutex per proteggere tutte queste operazioni, non riesco a vedere come può essere thread-safe.
possibile duplicato di [funzione di tempo C multiple thread] (http://stackoverflow.com/questions/18348383/c-time-function-multiple-thread) –
@ShafikYaghmour La domanda precedente e le sue risposte si concentrano su asctime' , 'ctime',' gmtime' e 'localtime' che restituiscono i puntatori ai dati statici e sono pertanto non sicuri dal punto di vista del design. Questa domanda riguarda specificamente 'mktime', la cui interfaccia non è thread-safe, ma potrebbe essere l'effetto collaterale ulteriormente imposto da POSIX. Quindi questo non è un duplicato della domanda precedente. – user4815162342
è vero, penso che le prime due righe aggiunte siano un po 'fuorvianti, la precedente domanda non ha risposto a nulla riguardo a mktime. – swang