diff --git a/src/c/file.d b/src/c/file.d index d3e1794eb..0f739b0c7 100755 --- a/src/c/file.d +++ b/src/c/file.d @@ -2611,6 +2611,8 @@ safe_fclose(FILE *stream) { const cl_env_ptr the_env = ecl_process_env(); int output; + /* If someone have closed our fd, do nothing. See #267. */ + unlikely_if (fileno(stream) == -1) return 0; ecl_disable_interrupts_env(the_env); output = fclose(stream); ecl_enable_interrupts_env(the_env);