From: Bert Hubert Date: Tue, 19 Jun 2007 19:51:03 +0000 (+0000) Subject: fix for EINTR confusion wich could block the server - thanks Arnoud B! X-Git-Tag: rec-3.1.7.1~182 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f3c5773bbb7b6bbb312c3391b48b04eaf8bcd8c6;p=pdns fix for EINTR confusion wich could block the server - thanks Arnoud B! git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@1059 d19b8d6e-7fed-0310-83ef-9ca221ded41b --- diff --git a/pdns/epollmplexer.cc b/pdns/epollmplexer.cc index 1dc4a3586..310f32398 100644 --- a/pdns/epollmplexer.cc +++ b/pdns/epollmplexer.cc @@ -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; diff --git a/pdns/kqueuemplexer.cc b/pdns/kqueuemplexer.cc index 0f1ccb122..e1025485a 100644 --- a/pdns/kqueuemplexer.cc +++ b/pdns/kqueuemplexer.cc @@ -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; diff --git a/pdns/selectmplexer.cc b/pdns/selectmplexer.cc index ffb5660c3..fe71ad8eb 100644 --- a/pdns/selectmplexer.cc +++ b/pdns/selectmplexer.cc @@ -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();