[Nbd] [PATCH 02/11] nbd-server: fix modernsock descriptor initialization and use
- To: nbd-general@lists.sourceforge.net
- Subject: [Nbd] [PATCH 02/11] nbd-server: fix modernsock descriptor initialization and use
- From: "Dmitry V. Levin" <ldv@...1147...>
- Date: Fri, 22 Jun 2012 01:38:40 +0400
- Message-id: <20120621213839.GB26247@...1147...>
Change the value for undefined "modern handler" descriptor from 0 to -1
because any value greater or equal to 0 can be a valid file descriptor.
Signed-off-by: Dmitry V. Levin <ldv@...1147...>
---
nbd-server.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/nbd-server.c b/nbd-server.c
index 2e008d8..53e7b18 100644
--- a/nbd-server.c
+++ b/nbd-server.c
@@ -185,7 +185,7 @@ char default_authname[] = SYSCONFDIR "/nbd-server/allow"; /**< default name of a
#define NEG_OLD (1 << 1)
#define NEG_MODERN (1 << 2)
-int modernsock=0; /**< Socket for the modern handler. Not used
+int modernsock=-1; /**< Socket for the modern handler. Not used
if a client was only specified on the
command line; only port used if
oldstyle is set to false (and then the
@@ -2189,7 +2189,7 @@ int serveloop(GArray* servers) {
max=sock>max?sock:max;
}
}
- if(modernsock) {
+ if(modernsock >= 0) {
FD_SET(modernsock, &mset);
max=modernsock>max?modernsock:max;
}
@@ -2203,7 +2203,7 @@ int serveloop(GArray* servers) {
SERVER* serve=NULL;
DEBUG("accept, ");
- if(FD_ISSET(modernsock, &rset)) {
+ if(modernsock >= 0 && FD_ISSET(modernsock, &rset)) {
if((net=accept(modernsock, (struct sockaddr *) &addrin, &addrinlen)) < 0)
err("accept: %m");
client = negotiate(net, NULL, servers, NEG_INIT | NEG_MODERN);
--
ldv
Reply to: