Set SO_REUSEADDR before calling bind().
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1783 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
f5ba07d399
commit
b55669bf57
@ -573,6 +573,7 @@ solisten(port, laddr, lport, flags)
|
|||||||
addr.sin_port = port;
|
addr.sin_port = port;
|
||||||
|
|
||||||
if (((s = socket(AF_INET,SOCK_STREAM,0)) < 0) ||
|
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) ||
|
(bind(s,(struct sockaddr *)&addr, sizeof(addr)) < 0) ||
|
||||||
(listen(s,1) < 0)) {
|
(listen(s,1) < 0)) {
|
||||||
int tmperrno = errno; /* Don't clobber the real reason we failed */
|
int tmperrno = errno; /* Don't clobber the real reason we failed */
|
||||||
@ -587,7 +588,6 @@ solisten(port, laddr, lport, flags)
|
|||||||
#endif
|
#endif
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
setsockopt(s,SOL_SOCKET,SO_REUSEADDR,(char *)&opt,sizeof(int));
|
|
||||||
setsockopt(s,SOL_SOCKET,SO_OOBINLINE,(char *)&opt,sizeof(int));
|
setsockopt(s,SOL_SOCKET,SO_OOBINLINE,(char *)&opt,sizeof(int));
|
||||||
|
|
||||||
getsockname(s,(struct sockaddr *)&addr,&addrlen);
|
getsockname(s,(struct sockaddr *)&addr,&addrlen);
|
||||||
|
Loading…
Reference in New Issue
Block a user