2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-31 14:05:33 +00:00

[master] exit from SyncUDPServer::handleRead immediately if stopped.

while not really correct, this seems to work as a workaround for the crash
problem reported in #2946.
okayed on jabber.
This commit is contained in:
JINMEI Tatuya
2013-05-08 23:05:14 -07:00
parent 0404a592b1
commit 89e0087450

View File

@@ -75,6 +75,15 @@ SyncUDPServer::scheduleRead() {
void
SyncUDPServer::handleRead(const asio::error_code& ec, const size_t length) {
// If the server has been stopped, it could even have been destroyed
// by the time of this call. We'll solve this problem in #2946, but
// until then we exit as soon as possible without accessing any other
// invalidated fields (note that referencing stopped_ is also incorrect,
// but experiments showed it often keeps the original value in practice,
// so we live with it until the complete fix).
if (stopped_) {
return;
}
if (ec) {
using namespace asio::error;
const asio::error_code::value_type err_val = ec.value();