flexnbd: Fix sock_try_bind so we don't retry on EADDRINUSE

This commit is contained in:
nick
2013-02-14 16:37:14 +00:00
parent 03bc12dd57
commit 8281809f42

View File

@@ -86,6 +86,7 @@ int sock_try_bind( int fd, const struct sockaddr* sa )
{
int bind_result;
char s_address[256];
int retry = 1;
sockaddr_address_string( sa, &s_address[0], 256 );
@@ -116,12 +117,14 @@ int sock_try_bind( int fd, const struct sockaddr* sa )
continue;
case EADDRINUSE:
warn( "%s in use, giving up.", s_address );
retry = 0;
break;
default:
warn( "giving up" );
retry = 0;
}
}
} while ( 1 );
} while ( retry );
return bind_result;
}