From 8281809f421cc842ee0ad00d387563ea66a25b11 Mon Sep 17 00:00:00 2001 From: nick Date: Thu, 14 Feb 2013 16:37:14 +0000 Subject: [PATCH] flexnbd: Fix sock_try_bind so we don't retry on EADDRINUSE --- src/sockutil.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/sockutil.c b/src/sockutil.c index bb9cdf8..586b37a 100644 --- a/src/sockutil.c +++ b/src/sockutil.c @@ -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; }