Eventuali duplicati:
Malloc thread-safe?malloc() non è rientranti ma thread-safe?
Io non sono un po 'confuso, mentre io sto leggendo "L'interfaccia di programmazione di Linux".
Dal libro si dice che malloc è non rientranti poiché manipola la struttura di dati dell'elenco globale collegato ma è reso thread-safe utilizzando mutex.
Sono un po 'confuso su questo: dato che è thread-safe con l'uso del mutex e quindi può essere invocato da più di un thread allo stesso tempo, perché non è una funzione di rientro? (se diciamo che reentrant significa che può essere invocato da più di un chiamante allo stesso tempo)
Un'altra domanda è che, dal momento che malloc è thread-safe, possiamo inserirlo in un gestore di segnale? Penso che la risposta sia sì, ma non sono sicuro poiché, secondo questo libro, si dice che solo una funzione di rientro o segnale asincrono può essere inserita nel gestore del segnale.
Qualcuno può spiegarmi questo?
Il mutex è incluso nell'implementazione di malloc? – Bingo