76 if (!pollFdIndices.contains(fd)) {
77 pollfds[nextIndex].events = event;
78 pollfds[nextIndex].fd = fd;
80 pollFdIndices[fd].index = nextIndex;
81 pollFdIndices[fd].events = event;
85 if (nextIndex == pollfds.size()) {
86 pollfds.resize(pollfds.size() * 2, {-1, 0, 0});
87 pollFdIndices.reserve(pollfds.size());
92 pollfds[pollFdIndex.index].events |= event;
125 (
void) std::remove_if(pollfds.begin(), pollfds.end(), [](
const pollfd& pollFd) ->
bool {
126 return pollFd.fd < 0;
129 pollfds.resize(pollFdIndices.size() + 1, {-1, 0, 0});
131 pollFdIndices.reserve(pollFdIndices.size() + 1);
133 for (uint32_t i = 0; i < pollFdIndices.size(); i++) {
134 pollFdIndices[pollfds[i].fd].index = i;
137 nextIndex = pollFdIndices.size();