75 for (
auto& [dirtyDescriptEventReceiverList, disabledDescriptorEventReceivers] : dirtyEventReceiverLists) {
76 for (DescriptorEventReceiver* disabledDescriptorEventReceiver : disabledDescriptorEventReceivers) {
77 dirtyDescriptEventReceiverList->remove(disabledDescriptorEventReceiver);
79 if (dirtyDescriptEventReceiverList->empty()) {
80 const int fd = disabledDescriptorEventReceiver->getRegisteredFd();
83 observedEventReceiverLists.erase(fd);
85 DescriptorEventReceiver* activeDescriptorEventReceiver = dirtyDescriptEventReceiverList->front();
87 activeDescriptorEventReceiver->triggered(currentTime);
88 if (!activeDescriptorEventReceiver->isSuspended()) {
89 muxOn(activeDescriptorEventReceiver);
91 muxOff(activeDescriptorEventReceiver);
95 disabledDescriptorEventReceiver->setDisabled();
99 dirtyEventReceiverLists.clear();