GNU/Linux >> Tutoriales Linux >  >> Linux

seguridad de subprocesos de la función strtok

strtok() no es seguro para MT porque almacena algunas variables intermedias globalmente y las reutiliza en cada llamada (vea que no tiene que volver a pasar la cadena cada vez que llama a strtok() ). Puede echar un vistazo a las páginas de manual de los métodos que está utilizando y siempre se indica al final si es seguro para MT o no.

Cuando un método no es seguro para MT (seguro para subprocesos múltiples o reentrante), debe buscar el mismo método con el sufijo _r que significa reentrada. En tu ejemplo, strtok_r() como se sugiere en la otra respuesta.


strtok() no es reentrante, por lo que no debe usarse desde aplicaciones con subprocesos, use strtok_r() en su lugar.


Linux
  1. ¿Dónde está la función itoa en Linux?

  2. Subprocesos POSIX separados vs. conectables

  3. Id. de subproceso frente a identificador de subproceso

  4. Acceder al subproceso local desde otro subproceso

  5. ¿Es fopen () una función segura para subprocesos en Linux?

Funciones bash

Cómo imprimir pthread_t

C++ 11:¿Cómo crear un alias de una función?

ID de un hilo de Python según lo informado por la parte superior

fflush() no funciona en Linux

límite de longitud de cadena de la función system ()