gdbstub: call socket_set_fast_reuse instead of setting SO_REUSEADDR

SO_REUSEADDR should be avoided on Windows but is desired on other operating
systems. So instead of setting it we call socket_set_fast_reuse that will result
in the appropriate behaviour on all operating systems.

Signed-off-by: Sebastian Ottlik <ottlik@fzi.de>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Stefan Weil <sw@weilnetz.de>
This commit is contained in:
Sebastian Ottlik 2013-10-02 12:23:13 +02:00 committed by Stefan Weil
parent 606600a176
commit 6669ca13c3

View File

@ -1553,7 +1553,7 @@ static void gdb_accept(void)
static int gdbserver_open(int port) static int gdbserver_open(int port)
{ {
struct sockaddr_in sockaddr; struct sockaddr_in sockaddr;
int fd, val, ret; int fd, ret;
fd = socket(PF_INET, SOCK_STREAM, 0); fd = socket(PF_INET, SOCK_STREAM, 0);
if (fd < 0) { if (fd < 0) {
@ -1564,9 +1564,7 @@ static int gdbserver_open(int port)
fcntl(fd, F_SETFD, FD_CLOEXEC); fcntl(fd, F_SETFD, FD_CLOEXEC);
#endif #endif
/* allow fast reuse */ socket_set_fast_reuse(fd);
val = 1;
qemu_setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &val, sizeof(val));
sockaddr.sin_family = AF_INET; sockaddr.sin_family = AF_INET;
sockaddr.sin_port = htons(port); sockaddr.sin_port = htons(port);