summaryrefslogtreecommitdiff
path: root/emulators/qemu/files/patch-slirp-socket.c
blob: 91b030ae62c3ada3b6eb0a78bffa0b2c2b8e56c9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 1.6
Index: qemu/slirp/socket.c
@@ -573,6 +573,7 @@
 	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 @@
 #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);