Pregunta

Si 2 descriptores de fichero se dupped en el mismo archivo (es decir 506 y STDOUT), será invocando close(506) limpieza el objeto asociado por tanto y hacer STDOUT inutilizable? ¿O es que el kernel aplicar el recuento de referencias para sus archivos?

¿Fue útil?

Solución

El recuento de referencias implementos del núcleo, por lo que el objeto de núcleo no se cierra hasta que todos los identificadores de archivo que apunta a que están cerrados.

Otros consejos

contadores de referencia son ampliamente utilizados en el interior del núcleo para evitar condiciones de carrera debido a la asignación concurrente y la liberación de un recurso. Un contador de referencia es simplemente un contador de atomic_t asociado a un recurso específico, como una página de memoria, un módulo o un archivo. El contador se incrementa atómicamente cuando una trayectoria de control de núcleo comienza a utilizar el recurso, y se disminuye cuando un control kernel acabados de ruta utilizando el recurso. Cuando el contador de referencia se convierte en cero, no se utiliza el recurso, y puede ser liberado si es necesario.

Es posible que cuidar para ver esto si quiere mirar a través de esta para una visión general de la aplicación del núcleo Linux recuento de referencias.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top