Utilicé 'fopen' en un programa C para abrir un archivo en modo de solo lectura (r). Pero en mi caso observé que la llamada fopen no regresa. No devuelve NULL o un puntero válido: la ejecución se bloquea en la llamada fopen. El parche del archivo es absolutamente correcto (ya lo he verificado) y no hay problemas relacionados con los permisos. ¿Alguien puede decir cuál podría ser el motivo de este tipo de comportamiento? Cualquier tipo de ayuda es realmente apreciable. ¿Hay algo relacionado con gcc o glibc?fopen no devuelve
EDITAR
Aquí es el código de ejemplo
printf("%s %d\n",__FUNCTION__,__LINE__);
if ((fp = fopen(argv[1], "r")) == NULL) {
printf("%s %d\n",__FUNCTION__,__LINE__);
return;
}
printf("%s %d\n",__FUNCTION__,__LINE__);
Cuando ejecuto el código, solo me dan la primera impresión (antes de llamar a fopen) y después de que el programa simplemente se detiene. Entonces fopen no completa su operación. El archivo es un archivo de configuración simple con la extensión '.conf' y este archivo se puede abrir por cualquier otro medio como vi, cat, etc. No debería haber ningún problema relacionado con NFS. El sistema de archivos es ext3.
Gracias de antemano, Souvik
enviar el código. No podemos decir sin eso. Incluya los parámetros (con valores) que está pasando a fopen. –
si no puedes publicar tu código pls publica un código de muestra en el escenario. – Sudantha
especifique también el tipo de sistema de archivos. – Simone