Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(3970)

Issue 62180043: code review 62180043: gosshnew/ssh: in channel, separate mutexes for reading (flow (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
10 years, 2 months ago by hanwen-google
Modified:
10 years, 2 months ago
Reviewers:
agl1
CC:
agl1, dave_cheney.net, jpsugar, golang-codereviews, hanwen-google
Visibility:
Public.

Description

gosshnew/ssh: in channel, separate mutexes for reading (flow control window) and writing (sentClose, access to writePacket). With a shared mutex, packetWrite() will block holding the lock if a key exchange is requested. This prevents the mux read loop from making progress. This prevents us from receiving the other side's kexInit packet, so the writer is never unblocked.

Patch Set 1 #

Patch Set 2 : diff -r 9ee68e21b668 https://hanwen%40google.com@code.google.com/p/gosshnew/ #

Total comments: 2

Patch Set 3 : diff -r 9ee68e21b668 https://code.google.com/p/gosshnew #

Patch Set 4 : diff -r 9ee68e21b668 https://code.google.com/p/gosshnew #

Unified diffs Side-by-side diffs Delta from patch set Stats (+19 lines, -13 lines) Patch
M ssh/channel.go View 1 2 5 chunks +19 lines, -13 lines 0 comments Download

Messages

Total messages: 4
hanwen-google
Hello agl1, dfc, jpsugar@google.com (cc: agl@golang.org, dave@cheney.net, golang-codereviews@googlegroups.com, hanwen@google.com, jpsugar@google.com), I'd like you to review ...
10 years, 2 months ago (2014-02-12 16:13:56 UTC) #1
agl1
LGTM https://codereview.appspot.com/62180043/diff/20001/ssh/channel.go File ssh/channel.go (right): https://codereview.appspot.com/62180043/diff/20001/ssh/channel.go#newcode177 ssh/channel.go:177: // windowMu protects the flow-control window. No harm ...
10 years, 2 months ago (2014-02-12 17:17:16 UTC) #2
hanwen-google
https://codereview.appspot.com/62180043/diff/20001/ssh/channel.go File ssh/channel.go (right): https://codereview.appspot.com/62180043/diff/20001/ssh/channel.go#newcode177 ssh/channel.go:177: // windowMu protects the flow-control window. On 2014/02/12 17:17:17, ...
10 years, 2 months ago (2014-02-12 17:25:23 UTC) #3
hanwen-google
10 years, 2 months ago (2014-02-12 17:26:02 UTC) #4
*** Submitted as https://code.google.com/p/gosshnew/source/detail?r=470f4cb502d2
***

gosshnew/ssh: in channel, separate mutexes for reading (flow
control window) and writing (sentClose, access to
writePacket).

With a shared mutex, packetWrite() will block holding the lock
if a key exchange is requested.  This prevents the mux read
loop from making progress. This prevents us from receiving the
other side's kexInit packet, so the writer is never unblocked.

R=agl, dave, jpsugar
CC=agl, dave, golang-codereviews, hanwen, jpsugar
https://codereview.appspot.com/62180043
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b