Revert "Client: eliminate SetExpired(), call Close() directly"
This reverts commit 58d7804d66. It
caused a use-after-free bug when Client::OnSocketError() was called
due to a failed write, e.g. if the output buffer was full.
This commit is contained in:
@@ -69,5 +69,10 @@ Client::OnSocketInput(void *data, size_t length) noexcept
|
||||
return InputResult::CLOSED;
|
||||
}
|
||||
|
||||
if (IsExpired()) {
|
||||
Close();
|
||||
return InputResult::CLOSED;
|
||||
}
|
||||
|
||||
return InputResult::AGAIN;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user