descubrí el próximo número de este simple código:OCaml: excepción inesperada con Unix.getlogin cuando StdIn redirigido
let() =
print_endline "Hello";
print_endline (Unix.getlogin())
Correr en el caso normal, con ./a.out
da:
Hello
ricardo
Pero corriendo como ./a.out </dev/null
hace Unix.getlogin falte;
Hello
Fatal error: exception Unix.Unix_error(20, "getlogin", "")
cualquier ID ¿por qué sucede esto?
Acabo de probar esto en mi sistema: Mac OS X 10.6.8/OCaml 3.12.0 y no veo el problema. El resultado es el mismo en ambos casos. ¿Cuál es tu sistema? –
Linux, he leído de nuevo man 3 getlogin y vi el "error" en glibc sobre redirigir el código fuente: -/ – Ricardo
Sí, bkconrad lo ha descifrado. –