This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [patch] Minor O_CLOEXEC optimization, "regression" fix
- From: Eli Zaretskii <eliz at gnu dot org>
- To: Jan Kratochvil <jan dot kratochvil at redhat dot com>
- Cc: ktietz at redhat dot com, gdb-patches at sourceware dot org, tromey at redhat dot com
- Date: Wed, 09 Oct 2013 20:02:12 +0300
- Subject: Re: [patch] Minor O_CLOEXEC optimization, "regression" fix
- Authentication-results: sourceware.org; auth=none
- References: <20131008183214 dot GB27355 at host2 dot jankratochvil dot net> <87li23fsym dot fsf at fleche dot redhat dot com> <20131009131016 dot GA1603 at host2 dot jankratochvil dot net>
- Reply-to: Eli Zaretskii <eliz at gnu dot org>
> Date: Wed, 9 Oct 2013 15:10:16 +0200
> From: Jan Kratochvil <jan.kratochvil@redhat.com>
> Cc: gdb-patches@sourceware.org, Tom Tromey <tromey@redhat.com>
>
> 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.
Please don't do that. On latest versions of Windows, the runtime
library functions tend to invoke the "invalid parameter handler" in
these cases, which more often than not will crash the program.