diff options
author | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-05-04 23:30:17 +0000 |
---|---|---|
committer | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-05-04 23:30:17 +0000 |
commit | e7e993263d1994d2aae4394e2eb220a8ce2b68e3 (patch) | |
tree | 2fa80cc8d3c19ef3be1c37be0f58ba17c2475056 /net/socket/client_socket_pool_base.cc | |
parent | 0a7da815724b3d3431c900d595aad1aad30f8cd7 (diff) | |
download | chromium_src-e7e993263d1994d2aae4394e2eb220a8ce2b68e3.zip chromium_src-e7e993263d1994d2aae4394e2eb220a8ce2b68e3.tar.gz chromium_src-e7e993263d1994d2aae4394e2eb220a8ce2b68e3.tar.bz2 |
Fix some uses of scoped_ptr.release() in net/ such that the return value is not ignored.
client_socket_pool_base.cc change contributed by vandebo@chromium
BUG=42904
TEST=existing net tests/
Review URL: http://codereview.chromium.org/1756019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46409 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/socket/client_socket_pool_base.cc')
-rw-r--r-- | net/socket/client_socket_pool_base.cc | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/net/socket/client_socket_pool_base.cc b/net/socket/client_socket_pool_base.cc index 739bb82..9fe07d3 100644 --- a/net/socket/client_socket_pool_base.cc +++ b/net/socket/client_socket_pool_base.cc @@ -175,10 +175,12 @@ int ClientSocketPoolBaseHelper::RequestSocket( request->net_log().BeginEvent(NetLog::TYPE_SOCKET_POOL, NULL); Group& group = group_map_[group_name]; int rv = RequestSocketInternal(group_name, request); - if (rv != ERR_IO_PENDING) + if (rv != ERR_IO_PENDING) { request->net_log().EndEvent(NetLog::TYPE_SOCKET_POOL, NULL); - else + delete request; + } else { InsertRequestIntoQueue(request, &group.pending_requests); + } return rv; } @@ -654,21 +656,18 @@ void ClientSocketPoolBaseHelper::OnAvailableSocketSlot( void ClientSocketPoolBaseHelper::ProcessPendingRequest( const std::string& group_name, Group* group) { - scoped_ptr<const Request> r(*group->pending_requests.begin()); - int rv = RequestSocketInternal(group_name, r.get()); + int rv = RequestSocketInternal(group_name, *group->pending_requests.begin()); if (rv != ERR_IO_PENDING) { + scoped_ptr<const Request> r(RemoveRequestFromQueue( + group->pending_requests.begin(), &group->pending_requests)); r->net_log().EndEvent(NetLog::TYPE_SOCKET_POOL, NULL); - RemoveRequestFromQueue(group->pending_requests.begin(), - &group->pending_requests); r->callback()->Run(rv); if (rv != OK) { // |group| may be invalid after the callback, we need to search // |group_map_| again. MaybeOnAvailableSocketSlot(group_name); } - } else { - r.release(); } } |