From b6b4bb54cddfab8107d532f8379174f276f39723 Mon Sep 17 00:00:00 2001 From: Gianluigi Tiesi Date: Fri, 29 Aug 2025 13:30:53 +0200 Subject: [PATCH] use SO_REUSEADDR and SO_EXCLUSIVEADDRUSE (win32) on gdb stub socket --- src/gdbstub.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/gdbstub.c b/src/gdbstub.c index 42e1fc46d..2ae40d24c 100644 --- a/src/gdbstub.c +++ b/src/gdbstub.c @@ -1791,6 +1791,24 @@ gdbstub_init(void) return; } + int yes = 1; + if (setsockopt(gdbstub_socket, SOL_SOCKET, SO_REUSEADDR, +#ifdef _WIN32 + (const char *) &yes, +#else + &yes, +#endif + sizeof(yes)) == -1) { + pclog("GDB Stub: setsockopt SO_REUSEADDR failed\n"); + return; + } + +#ifdef _WIN32 + if (setsockopt(gdbstub_socket, SOL_SOCKET, SO_EXCLUSIVEADDRUSE, (const char *) &yes, sizeof(yes)) == -1) { + pclog("GDB Stub: setsockopt SO_EXCLUSIVEADDRUSE failed\n"); + } +#endif + /* Bind GDB server socket. */ int port = 12345; struct sockaddr_in bind_addr = {