From 1c881b674e0315bbf3fb1b5098db00cbb72e3d36 Mon Sep 17 00:00:00 2001 From: pbrook Date: Sat, 11 Mar 2006 20:48:36 +0000 Subject: [PATCH] Set SO_REUSEADDR before calling bind(). --- slirp/socket.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/slirp/socket.c b/slirp/socket.c index 47ed44b9..fbd9e960 100644 --- a/slirp/socket.c +++ b/slirp/socket.c @@ -573,6 +573,7 @@ solisten(port, laddr, lport, flags) addr.sin_port = port; if (((s = socket(AF_INET,SOCK_STREAM,0)) < 0) || + (setsockopt(s,SOL_SOCKET,SO_REUSEADDR,(char *)&opt,sizeof(int)) < 0) || (bind(s,(struct sockaddr *)&addr, sizeof(addr)) < 0) || (listen(s,1) < 0)) { int tmperrno = errno; /* Don't clobber the real reason we failed */ @@ -587,7 +588,6 @@ solisten(port, laddr, lport, flags) #endif return NULL; } - setsockopt(s,SOL_SOCKET,SO_REUSEADDR,(char *)&opt,sizeof(int)); setsockopt(s,SOL_SOCKET,SO_OOBINLINE,(char *)&opt,sizeof(int)); getsockname(s,(struct sockaddr *)&addr,&addrlen); -- 2.39.5