[patch] Minor O_CLOEXEC optimization, "regression" fix
Kai Tietz
ktietz@redhat.com
Wed Oct 9 13:34:00 GMT 2013
----- Original Message -----
> On Tue, 08 Oct 2013 21:44:33 +0200, Tom Tromey wrote:
> > >>>>> "Jan" == Jan Kratochvil <jan.kratochvil@redhat.com> writes:
> > Jan> - if (result == NULL)
> > Jan> + if (result != NULL)
> > Jan> + fopen_e_ever_succeeded = 1;
> > Jan> + else if (!fopen_e_ever_succeeded)
> >
> > What if we have it check for EINVAL instead?
>
> May one rely on MS-Windows fopen("","re") will fail with EINVAL if it fails
> because of the "e" flag, Kai? It is in GDB function gdb_fopen_cloexec.
Yes, it fails due the 'e' command in mode. Obviously this option isn't supported on Windows due there is no fork. The allowed options for mode-flag is dependent to runtime-version. The function (it is under the hood the _openfile routine, which handles this) returns EINVAL on any not supported mode-options. So yes, probing for EINVAL seems to me like a valid way to probe for valid arguments here.
> original post:
> [patch] Minor O_CLOEXEC optimization, "regression" fix
> https://sourceware.org/ml/gdb-patches/2013-10/msg00233.html
>
>
> Thanks,
> Jan
>
Regards,
Kai
More information about the Gdb-patches
mailing list