add SO_REUSEADDR when starting debug port, lets you still bind when

a TIME_WAIT socket is still around...

Reviewed by:	grehan
Review:		https://reviews.freebsd.org/D2875
This commit is contained in:
John-Mark Gurney 2015-06-20 07:49:08 +00:00
parent fcaa95f0c5
commit 4afea7f994
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=284630

View File

@ -116,6 +116,8 @@ SYSRES_IO(BVM_DBG_PORT, 4);
void
init_dbgport(int sport)
{
int reuse;
conn_fd = -1;
if ((listen_fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
@ -128,6 +130,13 @@ init_dbgport(int sport)
sin.sin_addr.s_addr = htonl(INADDR_ANY);
sin.sin_port = htons(sport);
reuse = 1;
if (setsockopt(listen_fd, SOL_SOCKET, SO_REUSEADDR, &reuse,
sizeof(reuse)) < 0) {
perror("setsockopt");
exit(1);
}
if (bind(listen_fd, (struct sockaddr *)&sin, sizeof(sin)) < 0) {
perror("bind");
exit(1);