Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [PATCH] mingw: Fix wrong error message on connection timeout
@ 2019-11-17 10:46 Orgad Shaneh
  2019-11-17 19:47 ` Simon Marchi
  0 siblings, 1 reply; 2+ messages in thread
From: Orgad Shaneh @ 2019-11-17 10:46 UTC (permalink / raw)
  To: gdb-patches

ETIMEDOUT is defined as 138. Translating this error code to a
readable message gives "The system tried to join a drive to a directory
on a joined drive."

Since GDB assigns this value directly, it should use a value that
the system recognizes correctly.
---
 gdb/ser-tcp.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/gdb/ser-tcp.c b/gdb/ser-tcp.c
index 37f64b5d08..a1baa7729e 100644
--- a/gdb/ser-tcp.c
+++ b/gdb/ser-tcp.c
@@ -40,9 +40,8 @@

 #ifdef USE_WIN32API
 #include <ws2tcpip.h>
-#ifndef ETIMEDOUT
+#undef ETIMEDOUT
 #define ETIMEDOUT WSAETIMEDOUT
-#endif
 /* Gnulib defines close too, but gnulib's replacement
    doesn't call closesocket unless we import the
    socketlib module.  */
--
2.24.0.windows.1.2.g59df941196


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] mingw: Fix wrong error message on connection timeout
  2019-11-17 10:46 [PATCH] mingw: Fix wrong error message on connection timeout Orgad Shaneh
@ 2019-11-17 19:47 ` Simon Marchi
  0 siblings, 0 replies; 2+ messages in thread
From: Simon Marchi @ 2019-11-17 19:47 UTC (permalink / raw)
  To: Orgad Shaneh, gdb-patches

On 2019-11-17 5:46 a.m., Orgad Shaneh wrote:
> ETIMEDOUT is defined as 138. Translating this error code to a
> readable message gives "The system tried to join a drive to a directory
> on a joined drive."
> 
> Since GDB assigns this value directly, it should use a value that
> the system recognizes correctly.
> ---
>  gdb/ser-tcp.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/gdb/ser-tcp.c b/gdb/ser-tcp.c
> index 37f64b5d08..a1baa7729e 100644
> --- a/gdb/ser-tcp.c
> +++ b/gdb/ser-tcp.c
> @@ -40,9 +40,8 @@
> 
>  #ifdef USE_WIN32API
>  #include <ws2tcpip.h>
> -#ifndef ETIMEDOUT
> +#undef ETIMEDOUT
>  #define ETIMEDOUT WSAETIMEDOUT
> -#endif
>  /* Gnulib defines close too, but gnulib's replacement
>     doesn't call closesocket unless we import the
>     socketlib module.  */
> --
> 2.24.0.windows.1.2.g59df941196
> 

Hi Orgad,

Thanks for the patch.

I'd like if we could understand the situation a bit better first, because it looks a bit confusing.

Reading the thread where this ifndef has been introduced:

  https://sourceware.org/ml/gdb-patches/2011-10/msg00759.html

the conclusion at the time was that all ETIMEDOUT/WSAETIMEDOUT definitions on mingw64 had
the same value, 10060.

Looking now, it has been changed to 138:

  https://github.com/mirror/mingw-w64/blob/3ac71ed3105c2989ba378e2e88d9405f65797178/mingw-w64-headers/crt/errno.h#L221-L224

int this particular commit:

  https://github.com/mirror/mingw-w64/commit/afae094979944d2d63dbbae125e4a5664538da6c

The comment still reads "Defined as WSAETIMEDOUT.", although that doesn't seem true anymore.

So the first question is: if strerror(ETIMEDOUT) on mingw64 returns an unrelated error string,
is it a mingw64 but?  Has it been reported there?

While searching for "ETIMEDOUT mingw64", I stumbled on this Stack Overflow answer:

  https://stackoverflow.com/questions/13523532/strerror-with-mingw-w64

That made me realize that we have imported the strerror_r-posix gnulib module recently.  And
see here, it specifically handles ETIMEDOUT:

  https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=gnulib/import/strerror-override.c;h=9bc9b1895108485403cf8cb9e29723eccc009382;hb=HEAD#l82

So please try to build the current master and see you see the right error string now.

Also, since we import the errno gnulib module, which defines ETIMEDOUT, I am pretty sure we
actually could get right of these lines altogether:

#ifndef ETIMEDOUT
#define ETIMEDOUT WSAETIMEDOUT
#endif

Simon


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-11-17 19:47 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-17 10:46 [PATCH] mingw: Fix wrong error message on connection timeout Orgad Shaneh
2019-11-17 19:47 ` Simon Marchi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox