|
Boost : |
Subject: [boost] [asio] boost::asio::read with empty input vector leads to an infinite loop
From: Michael Kochetkov (michael.kv_at_[hidden])
Date: 2012-07-12 16:20:34
Hello,
In the code bellow I have forgotten to set the input vector (request) size.
Is the code really supposed to react as an infinite loop (no errors, length
is always 0, boost::asio::read returns immediately) or such behavior is a
defect?
for (;;) {
std::vector<uint8_t> request;
boost::system::error_code error;
size_t length = boost::asio::read(sock,
boost::asio::buffer(request), error);
if (error == boost::asio::error::eof)
break;
else if (error)
throw my_exception(L"Socket error");
...
}
Thank you in advance,
-- Michael Kochetkov
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk