summaryrefslogtreecommitdiffstats
path: root/content/renderer/p2p
diff options
context:
space:
mode:
Diffstat (limited to 'content/renderer/p2p')
-rw-r--r--content/renderer/p2p/host_address_request.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/content/renderer/p2p/host_address_request.cc b/content/renderer/p2p/host_address_request.cc
index 9b11602..57c63ff 100644
--- a/content/renderer/p2p/host_address_request.cc
+++ b/content/renderer/p2p/host_address_request.cc
@@ -22,6 +22,7 @@ P2PHostAddressRequest::P2PHostAddressRequest(P2PSocketDispatcher* dispatcher)
P2PHostAddressRequest::~P2PHostAddressRequest() {
DCHECK(state_ == STATE_CREATED || state_ == STATE_FINISHED);
+ DCHECK(!registered_);
}
void P2PHostAddressRequest::Request(const std::string& host_name,
@@ -64,10 +65,13 @@ void P2PHostAddressRequest::DoUnregister() {
void P2PHostAddressRequest::OnResponse(const net::IPAddressNumber& address) {
DCHECK(ipc_message_loop_->BelongsToCurrentThread());
- delegate_message_loop_->PostTask(FROM_HERE, base::Bind(
- &P2PHostAddressRequest::DeliverResponse, this, address));
+ DCHECK(registered_);
+
dispatcher_->UnregisterHostAddressRequest(request_id_);
registered_ = false;
+
+ delegate_message_loop_->PostTask(FROM_HERE, base::Bind(
+ &P2PHostAddressRequest::DeliverResponse, this, address));
}
void P2PHostAddressRequest::DeliverResponse(