77 if (!pollFdIndices.contains(fd)) {
78 pollfds[nextIndex].events = event;
79 pollfds[nextIndex].fd = fd;
81 pollFdIndices[fd].index = nextIndex;
82 pollFdIndices[fd].events = event;
86 if (nextIndex == pollfds.size()) {
87 pollfds.resize(pollfds.size() * 2, {-1, 0, 0});
88 pollFdIndices.reserve(pollfds.size());
93 pollfds[pollFdIndex.index].events |= event;
126 (
void) std::remove_if(pollfds.begin(), pollfds.end(), [](
const pollfd& pollFd) ->
bool {
127 return pollFd.fd < 0;
130 pollfds.resize(pollFdIndices.size() + 1, {-1, 0, 0});
132 pollFdIndices.reserve(pollFdIndices.size() + 1);
134 for (uint32_t i = 0; i < pollFdIndices.size(); i++) {
135 pollFdIndices[pollfds[i].fd].index = i;
138 nextIndex = pollFdIndices.size();