diff --git a/gdb.c b/gdb.c index 71c5756..3990072 100644 --- a/gdb.c +++ b/gdb.c @@ -523,6 +523,7 @@ int gdb_server(const struct device *dev, int port) int client; struct sockaddr_in addr; socklen_t len; + int arg; sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); if (sock < 0) { @@ -530,6 +531,10 @@ int gdb_server(const struct device *dev, int port) return -1; } + arg = 1; + if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &arg, sizeof(arg)) < 0) + perror("gdb: warning: can't reuse socket address"); + addr.sin_family = AF_INET; addr.sin_port = htons(port); addr.sin_addr.s_addr = htonl(INADDR_ANY);