From: Marcin Siodelski Date: Thu, 14 Jun 2018 01:53:08 +0000 (+0200) Subject: [5649] Ignore writes on exernal sockets. X-Git-Tag: Kea-1.4.0~1^2~3^2~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=995830f8aad0d3c8e9ce66123ab14c156f8ce9e2;p=thirdparty%2Fkea.git [5649] Ignore writes on exernal sockets. --- diff --git a/src/lib/dhcp/iface_mgr.cc b/src/lib/dhcp/iface_mgr.cc index 15877c1cb2..1a7e5b0b5d 100644 --- a/src/lib/dhcp/iface_mgr.cc +++ b/src/lib/dhcp/iface_mgr.cc @@ -971,7 +971,8 @@ Pkt4Ptr IfaceMgr::receive4(uint32_t timeout_sec, uint32_t timeout_usec /* = 0 */ // Let's find out which socket has the data BOOST_FOREACH(SocketCallbackInfo s, callbacks_) { - if (!FD_ISSET(s.socket_, &sockets)) { + if ((!FD_ISSET(s.socket_, &sockets) && + (!FD_ISSET(s.socket_, &write_sockets)))) { continue; } @@ -1094,7 +1095,8 @@ Pkt6Ptr IfaceMgr::receive6(uint32_t timeout_sec, uint32_t timeout_usec /* = 0 */ // Let's find out which socket has the data BOOST_FOREACH(SocketCallbackInfo s, callbacks_) { - if (!FD_ISSET(s.socket_, &sockets)) { + if ((!FD_ISSET(s.socket_, &sockets) && + (!FD_ISSET(s.socket_, &write_sockets)))) { continue; }