diff options
Diffstat (limited to 'node/WindowsEthernetTap.cpp')
-rw-r--r-- | node/WindowsEthernetTap.cpp | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/node/WindowsEthernetTap.cpp b/node/WindowsEthernetTap.cpp index ea7f7510..2e8de8c1 100644 --- a/node/WindowsEthernetTap.cpp +++ b/node/WindowsEthernetTap.cpp @@ -616,8 +616,6 @@ bool WindowsEthernetTap::updateMulticastGroups(std::set<MulticastGroup> &groups) } } - newGroups.insert(_blindWildcardMulticastGroup); // always join this - bool changed = false; for(std::set<MulticastGroup>::iterator mg(newGroups.begin());mg!=newGroups.end();++mg) { @@ -627,7 +625,7 @@ bool WindowsEthernetTap::updateMulticastGroups(std::set<MulticastGroup> &groups) } } for(std::set<MulticastGroup>::iterator mg(groups.begin());mg!=groups.end();) { - if (!newGroups.count(*mg)) { + if ((!newGroups.count(*mg))&&(*mg != _blindWildcardMulticastGroup)) { groups.erase(mg++); changed = true; } else ++mg; |