/* regular file, open with flags: read-only and close-on-exec */
input = efl_add(EFL_IO_FILE_CLASS, NULL,
efl_file_set(efl_added, input_fname, NULL), /* mandatory */
- efl_io_file_flags_set(efl_added, O_RDONLY | O_CLOEXEC), /* recommended */
+ efl_io_file_flags_set(efl_added, O_RDONLY), /* default */
+ efl_io_closer_close_on_exec_set(efl_added, EINA_TRUE), /* recommended, set *after* flags, or include O_CLOEXEC in flags -- be careful with _WIN32 that doesn't support it. */
efl_event_callback_array_add(efl_added, input_cbs(), NULL) /* optional */
);
if (!input)
*/
output = efl_add(EFL_IO_FILE_CLASS, NULL,
efl_file_set(efl_added, output_fname, NULL), /* mandatory */
- efl_io_file_flags_set(efl_added, O_WRONLY | O_CLOEXEC | O_CREAT | O_TRUNC), /* mandatory for write */
+ efl_io_file_flags_set(efl_added, O_WRONLY | O_CREAT | O_TRUNC), /* mandatory for write */
+ efl_io_closer_close_on_exec_set(efl_added, EINA_TRUE), /* recommended, set *after* flags, or include O_CLOEXEC in flags -- be careful with _WIN32 that doesn't support it. */
efl_io_file_mode_set(efl_added, 0644), /* mandatory for write */
efl_event_callback_array_add(efl_added, output_cbs(), NULL) /* optional */
);
input = efl_add(EFL_IO_FILE_CLASS, loop,
efl_name_set(efl_added, "input"),
efl_file_set(efl_added, input_fname, NULL),
- efl_io_file_flags_set(efl_added, O_RDONLY | O_CLOEXEC),
+ efl_io_file_flags_set(efl_added, O_RDONLY),
+ efl_io_closer_close_on_exec_set(efl_added, EINA_TRUE), /* recommended, set *after* flags, or include O_CLOEXEC in flags -- be careful with _WIN32 that doesn't support it. */
efl_event_callback_add(efl_added, EFL_IO_READER_EVENT_EOS, _eos, NULL));
}
efl_name_set(efl_added, "output"),
efl_file_set(efl_added, output_fname, NULL),
efl_io_file_mode_set(efl_added, 0644),
- efl_io_file_flags_set(efl_added, O_WRONLY | O_CLOEXEC | O_TRUNC | O_CREAT));
+ efl_io_file_flags_set(efl_added, O_WRONLY | O_TRUNC | O_CREAT),
+ efl_io_closer_close_on_exec_set(efl_added, EINA_TRUE)); /* recommended, set *after* flags, or include O_CLOEXEC in flags -- be careful with _WIN32 that doesn't support it. */
}
primary_mode = _parse_primary_mode(primary_mode_str);