Estoy trabajando con algún código que debe ser seguro contra el que llama debido a SIGPIPE
, pero las únicas escrituras de socket que está ejecutando van a sockets de datagramas (sockets de datagramas de dominio UDP y Unix). ¿Debo preocuparme por SIGPIPE
? Estoy usando connect
en el socket, pero las pruebas preliminares (en Linux) mostraron que recibí ECONNREFUSED
en el envío si no había nadie escuchando en el socket de dominio de Unix. No estoy seguro de lo que sucede con UDP.¿Puede escribir en un socket de datagrama alguna vez subir SIGPIPE?
Puedo envolver todo en hacks para deshacerse de SIGPIPE
, pero si no es un problema, prefiero guardar los gastos generales y mantener la complejidad del código.
Voy a darle una mala respuesta. Creo que lo he visto antes cuando comencé una aplicación cuando el sistema Linux estaba arrancando. No puedo decir si definitivamente fue un socket de datagrama el problema subyacente, pero hasta donde sé, no usamos ningún socket TCP para esa aplicación. Solo un caso de prueba para que usted considere si se aplica a usted. – Jeff
Creo que podría organizar cosas para usar 'sendto' en lugar de' write' así puedo pasar esa bandera que deshabilita 'SIGPIPE'. –