This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] Minor O_CLOEXEC optimization, "regression" fix


----- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]