Solo tenga mucho cuidado al cerrar las manijas; es aún más peligroso de lo que parece, debido al reciclaje del identificador: si cierra el identificador de archivo y el programa abre otra cosa, el identificador de archivo original que cerró puede reutilizarse para esa "otra cosa". Y ahora adivine qué sucede si el programa continúa, pensando que está trabajando en el archivo (cuyo identificador cerró), cuando en realidad ese identificador de archivo ahora apunta a otra cosa.
Supongamos que un servicio de índice de búsqueda tiene un archivo abierto para la indexación pero se ha atascado temporalmente y desea eliminar el archivo, por lo que (imprudentemente) fuerza el cierre del controlador. El servicio de índice de búsqueda abre su archivo de registro para registrar cierta información, y el identificador del archivo eliminado se recicla como el identificador del archivo de registro. La operación atascada finalmente se completa, y el servicio de índice de búsqueda finalmente llega a cerrar el identificador que tenía abierto, pero termina involuntariamente cerrando el identificador del archivo de registro.
El servicio de índice de búsqueda abre otro archivo, digamos un archivo de configuración para escribir, de modo que pueda actualizar algún estado persistente. El identificador del archivo de registro se recicla como el identificador del archivo de configuración. El servicio de índice de búsqueda desea registrar cierta información, por lo que escribe en su archivo de registro. Desafortunadamente, el identificador del archivo de registro se cerró y el identificador se reutilizó para su archivo de configuración. La información registrada va al archivo de configuración y la corrompe.
Mientras tanto, otro identificador que forzó el cierre se reutilizó como un identificador mutex, que se utiliza para ayudar a evitar que los datos se corrompan. Cuando se cierra el identificador de archivo original, se cierra el identificador de mutex y se pierden las protecciones contra la corrupción de datos. Cuanto más se ejecuta el servicio, más corruptos se vuelven sus índices. Finalmente, alguien nota que el índice está devolviendo resultados incorrectos. Y cuando intenta reiniciar el servicio, falla porque sus archivos de configuración se han dañado.
Informe el problema a la compañía que realiza el servicio de índice de búsqueda y determinan que el índice se ha dañado, que el archivo de registro ha dejado de registrarse misteriosamente y que el archivo de configuración se ha sobrescrito con basura. A algún técnico pobre se le asigna la tarea desesperada de descubrir por qué el servicio corrompe sus índices y archivos de configuración, sin saber que la fuente de la corrupción es que forzó el cierre de un controlador.