diff --git a/src/iface.cc b/src/iface.cc index f569d3c..00a7c0f 100644 --- a/src/iface.cc +++ b/src/iface.cc @@ -647,12 +647,17 @@ int iface::poll_all() bool is_pfd = i++ % 2; + ptr ifa = i_it->second; + + if (f_it->revents & POLLERR) { + logger::error() << "Error polling interface " << ifa->_name.c_str(); + return -1; + } + if (!(f_it->revents & POLLIN)) { continue; } - ptr ifa = i_it->second; - address saddr, daddr, taddr; ssize_t size;