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