]> granicus.if.org Git - pdns/commitdiff
cherrypick 1372, solaris ports mplexer issue
authorBert Hubert <bert.hubert@netherlabs.nl>
Thu, 30 Jul 2009 20:44:23 +0000 (20:44 +0000)
committerBert Hubert <bert.hubert@netherlabs.nl>
Thu, 30 Jul 2009 20:44:23 +0000 (20:44 +0000)
git-svn-id: svn://svn.powerdns.com/pdns/tags/pdns-3.1.7.1@1387 d19b8d6e-7fed-0310-83ef-9ca221ded41b

pdns/portsmplexer.cc

index 9759e8b2136539949a200f50c021109b619ac850..ba4db6bad30409d476c27233ed8b0f726aa43c23 100644 (file)
@@ -74,7 +74,7 @@ void PortsFDMultiplexer::removeFD(callbackmap_t& cbmap, int fd)
   if(!cbmap.erase(fd))
     throw FDMultiplexerException("Tried to remove unlisted fd "+lexical_cast<string>(fd)+ " from multiplexer");
 
-  if(port_dissociate(d_portfd, PORT_SOURCE_FD, fd) < 0)
+  if(port_dissociate(d_portfd, PORT_SOURCE_FD, fd) < 0 && errno != ENOENT) // it appears under some circumstances, ENOENT will be returned, without this being an error. Apache has this same "fix"
     throw FDMultiplexerException("Removing fd from port set: "+stringerror());
 }