]> granicus.if.org Git - pdns/commitdiff
fix for EINTR confusion wich could block the server - thanks Arnoud B!
authorBert Hubert <bert.hubert@netherlabs.nl>
Tue, 19 Jun 2007 19:51:03 +0000 (19:51 +0000)
committerBert Hubert <bert.hubert@netherlabs.nl>
Tue, 19 Jun 2007 19:51:03 +0000 (19:51 +0000)
git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@1059 d19b8d6e-7fed-0310-83ef-9ca221ded41b

pdns/epollmplexer.cc
pdns/kqueuemplexer.cc
pdns/selectmplexer.cc

index 1dc4a35869366e026b646049481d997040932ec6..310f32398dcdc46c339e6ff04cc94dbc0c520657 100644 (file)
@@ -114,7 +114,7 @@ int EpollFDMultiplexer::run(struct timeval* now)
   if(ret < 0 && errno!=EINTR)
     throw FDMultiplexerException("select returned error: "+stringerror());
 
-  if(ret==0) // nothing
+  if(ret < 1) // thanks AB!
     return 0;
 
   d_inrun=true;
index 0f1ccb1220471d2f99a3a53254dbdb2543f68809..e1025485a3ace3c7782700249de66aaf9103597f 100644 (file)
@@ -98,7 +98,7 @@ int KqueueFDMultiplexer::run(struct timeval* now)
   if(ret < 0 && errno!=EINTR)
     throw FDMultiplexerException("kqueue returned error: "+stringerror());
 
-  if(ret==0) // nothing
+  if(ret < 0) // nothing - thanks AB!
     return 0;
 
   d_inrun=true;
index ffb5660c3fe309307e4054c28523036ef4863306..fe71ad8ebfda80c273b4dea8f7edfe63dc9ced19 100644 (file)
@@ -70,7 +70,7 @@ int SelectFDMultiplexer::run(struct timeval* now)
   if(ret < 0 && errno!=EINTR)
     throw FDMultiplexerException("select returned error: "+stringerror());
 
-  if(ret==0) // nothing
+  if(ret < 1) // nothing - thanks AB
     return 0;
 
   d_iter=d_readCallbacks.end();