Duplicar posibles:
Malloc thread-safe?malloc() no es reentrante pero es seguro para subprocesos?
No soy un poco confundido mientras estoy leyendo "La interfaz de programación de Linux".
Del libro se dice que malloc no es reentrante, ya que manipula la estructura de datos de la lista global enlazada, pero se hace seguro de subprocesos mediante el uso de mutex.
Estoy un poco confundido acerca de esto: ya que es seguro para subprocesos con el uso de mutex y por lo tanto puede ser invocado por más de un subprocesos al mismo tiempo, ¿por qué no es una función de reentrada? (si decimos que reentrant significa que puede ser invocado por más de un llamante al mismo tiempo)
Otra cuestión es que, como malloc es seguro para subprocesos, ¿podemos ponerlo en un manejador de señal? Creo que la respuesta es sí, pero no estoy seguro ya que según este libro, dice que solo se puede poner una función de reentrada o de seguridad de señal asincrónica en el controlador de señal.
Puede alguien explicar esto a mí?
¿El mutex está incluido en la implementación de malloc? – Bingo