GNU/Linux >> Tutoriales Linux >  >> Linux

¿Hay una identificación de pthread_t no válida?

Como sugirió Tony, puedes usar pthread_self() en esta situación.

Pero no comparar thread_t usando == o != . Usa pthread_equal .

Desde el pthread_self página man:

Por lo tanto, las variables de tipo pthread_t no se pueden comparar de forma portátil mediante el operador de igualdad de C (==); use pthread_equal(3) en su lugar.


Su suposición es incorrecta para empezar. Los objetos pthread_t son opacos. No puede comparar los tipos de pthread_t directamente en C. En su lugar, debe usar pthread_equal.

Otra consideración es que si pthread_create falla, el contenido de su pthread_t no estará definido. Es posible que ya no se establezca en su valor no válido.

Mi preferencia es conservar los valores de retorno de las llamadas pthread_create (junto con los ID de subprocesos) y usarlos para determinar si cada subproceso se inició correctamente.


Linux
  1. ¿Eliminar archivos por edad?

  2. Opción ABI no válida abi=aapcs-linux

  3. Cómo imprimir pthread_t

  4. ¿Hay alguna manera de 'uniq' por columna?

  5. decodificar base64:entrada no válida

Los 5 mejores temas de Linux Conky

¿Existe un cliente de OneDrive para Linux?

¿Hay una interfaz de python para iptables?

¿Hay un 'git sed' o equivalente?

¿Hay una instrucción goto en bash?

¿Hay alguna manera de copiar texto en htop?