Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(39)

Issue 2736103002: Only pump SSL_read extra times when there is data available synchronously. (Closed)

Created:
3 years, 9 months ago by davidben
Modified:
3 years, 9 months ago
Reviewers:
svaldez
CC:
chromium-reviews, cbentzel+watch_chromium.org, net-reviews_chromium.org, xunjieli
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Only pump SSL_read extra times when there is data available synchronously. If SSL_read is run an extra time, it will implicitly trigger a read from the transport. However, if we've already returned data, it's possible the consumer had no need for this extra data to begin with. The end result is that, in this situation, we would leave buffers allocated and sockets in the select loop when we shouldn't. Prior to the SocketBIOAdapter change, we wouldn't read from the transport as that would be nothing driving the DoTransportIO loop (though if writes were driving the transport we would read, which was weird). This restores the first behavior. BUG=652456 Review-Url: https://codereview.chromium.org/2736103002 Cr-Commit-Position: refs/heads/master@{#455297} Committed: https://chromium.googlesource.com/chromium/src/+/8ea6b17294f2ce1ea405e020ca07d2e048a6a083

Patch Set 1 #

Total comments: 5

Patch Set 2 : rebase #

Patch Set 3 : svaldez comments, SSLClientSocketReadTest #

Unified diffs Side-by-side diffs Delta from patch set Stats (+99 lines, -7 lines) Patch
M net/socket/ssl_client_socket_impl.cc View 1 1 chunk +4 lines, -1 line 0 comments Download
M net/socket/ssl_client_socket_unittest.cc View 1 2 5 chunks +95 lines, -6 lines 0 comments Download

Messages

Total messages: 22 (16 generated)
davidben
As is typical, this CL is almost entirely tests. This would normally be a good ...
3 years, 9 months ago (2017-03-07 21:54:48 UTC) #4
davidben
+xunjieli FYI
3 years, 9 months ago (2017-03-07 21:55:08 UTC) #5
svaldez
lgtm https://codereview.chromium.org/2736103002/diff/1/net/socket/ssl_client_socket_impl.cc File net/socket/ssl_client_socket_impl.cc (right): https://codereview.chromium.org/2736103002/diff/1/net/socket/ssl_client_socket_impl.cc#newcode1450 net/socket/ssl_client_socket_impl.cc:1450: // Continue processing records as long as there ...
3 years, 9 months ago (2017-03-07 22:05:55 UTC) #9
davidben
https://codereview.chromium.org/2736103002/diff/1/net/socket/ssl_client_socket_unittest.cc File net/socket/ssl_client_socket_unittest.cc (right): https://codereview.chromium.org/2736103002/diff/1/net/socket/ssl_client_socket_unittest.cc#newcode3642 net/socket/ssl_client_socket_unittest.cc:3642: ASSERT_THAT(server_listener.Listen(IPEndPoint(lo_address, 0), 1), IsOk()); On 2017/03/07 22:05:54, svaldez wrote: ...
3 years, 9 months ago (2017-03-07 22:37:01 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2736103002/40001
3 years, 9 months ago (2017-03-07 23:03:58 UTC) #19
commit-bot: I haz the power
3 years, 9 months ago (2017-03-07 23:54:35 UTC) #22
Message was sent while issue was closed.
Committed patchset #3 (id:40001) as
https://chromium.googlesource.com/chromium/src/+/8ea6b17294f2ce1ea405e020ca07...

Powered by Google App Engine
This is Rietveld 408576698