Tengo un servidor de subprocesos múltiples (que usa subprocesos POSIX), con un subproceso para cada conexión persistente. En uno de los hilos, el otro extremo de la conexión se cierra, lo que da como resultado la entrega de un SIGPIPE. ¿Hay un (preferiblemente portátil) para determinar qué hilo (y por qué conexión) sucedió así puedo hacer que mi manejador de señal haga el trabajo de limpieza de conexión/subproceso mismo o establezca un indicador para que el hilo principal y el de trabajo respectivamente vean eso? necesitan hacerlo más tarde?POSIX Hilos/Señales: ¿forma portátil de determinar a qué hilo se ha enviado una señal?
EDIT: me pregunto si podría utilizar quizá & errno, almacenarlo en una matriz global y asociarlo con el identificador del servidor para el hilo, y luego buscar & errno en el manejador de la señal. ¿Sería el errno específico del subproceso visible para el manejador de señal? ¿Entiendo cómo funciona el hilo errno incluso en el estadio?
Si se entregó una señal a un hilo en particular, ese hilo manejará la señal. Eso es lo que significa entregar una señal a un hilo específico. No entiendo lo que hay que verificar? –
Porque eso no me dice qué hilo específico era. –
No entiendo, el hilo es el hilo que maneja la señal. ¿Qué información sobre el hilo actual necesita saber? –