¿Qué hace select (2) si cierra (2) un descriptor de archivo en un hilo separado?

¿Cuál es el comportamiento de laselect(2) ¿Funciona cuando otro descriptor de archivo que está mirando para leer está cerrado por otro hilo?

De algunas pruebas superficiales, regresa de inmediato. Sospecho que el resultado es que (a) todavía sigue esperando datos, pero si realmente intentas leerlo, obtendrás EBADF (posiblemente, hay una carrera potencial) o (b) que finge que el descriptor de archivo nunca se pasó. Si el último caso es verdadero, pasar un solo fd sin tiempo de espera provocaría un punto muerto si se cerrara.

Respuestas a la pregunta(4)

Su respuesta a la pregunta