X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;ds=sidebyside;f=stream.cpp;h=e8d65db1a8cfda924226ad1838d087ad01a176a9;hb=8a9906c6d1223019c6e91a2d152dc2b2710db821;hp=0c0fabac29c90f99330cfc8c5d634f3c78321f95;hpb=c0ffd43e514e6392835ef85529423744263809af;p=cubemap diff --git a/stream.cpp b/stream.cpp index 0c0faba..e8d65db 100644 --- a/stream.cpp +++ b/stream.cpp @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -129,7 +130,8 @@ void Stream::put_client_to_sleep(Client *client) vector collect_iovecs(const vector &data, size_t bytes_wanted) { vector ret; - for (size_t i = 0; i < data.size() && bytes_wanted > 0; ++i) { + size_t max_iovecs = std::min(data.size(), IOV_MAX); + for (size_t i = 0; i < max_iovecs && bytes_wanted > 0; ++i) { if (data[i].iov_len <= bytes_wanted) { // Consume the entire iovec. ret.push_back(data[i]);