)]}'
{
  "commit": "4c4d20b72c2ffcc65325634d57021774dd2a1750",
  "tree": "370e2c858141b4afd1154c9cccc04ccc0c9dbbd0",
  "parents": [
    "e3e62d9601ec6fa737c081aead768f525f919802"
  ],
  "author": {
    "name": "Nicola Murino",
    "email": "nicola.murino@gmail.com",
    "time": "Wed May 27 11:17:19 2026 +0200"
  },
  "committer": {
    "name": "Gopher Robot",
    "email": "gobot@golang.org",
    "time": "Thu May 28 10:16:30 2026 -0700"
  },
  "message": "ssh: fix spinloop in mux SendRequest drain on closed channel\n\nThe drain loop added in 4e7a738 (\"ssh: fix deadlock on unexpected\nglobal responses\") receives from m.globalResponses without checking\nthe comma-ok flag. Once mux.loop closes globalResponses on connection\nteardown, the loop spins forever on the zero value, pinning a CPU\ncore for every concurrent SendRequest caller.\n\nUse the comma-ok idiom to detect the closed channel and break out.\n\nChange-Id: Icf0a7419fe5b206b7a4f70429fa9f25d0b5af731\nReviewed-on: https://go-review.googlesource.com/c/crypto/+/783681\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Neal Patel \u003cnealpatel@google.com\u003e\nAuto-Submit: Nicola Murino \u003cnicola.murino@gmail.com\u003e\nReviewed-by: Neal Patel \u003cneal@golang.org\u003e\nReviewed-by: Junyang Shao \u003cshaojunyang@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3bc4afbd0fbcf3b99f5fb5b1292d7e695594fb2b",
      "old_mode": 33188,
      "old_path": "ssh/mux.go",
      "new_id": "5775881c6a2ed5763aa71f988d5f7b550025846b",
      "new_mode": 33188,
      "new_path": "ssh/mux.go"
    },
    {
      "type": "modify",
      "old_id": "48a8da64289921b51a491bf9b027dc61209d841b",
      "old_mode": 33188,
      "old_path": "ssh/mux_test.go",
      "new_id": "a7dff34ea05d37d41a4a0ddbd3fad33e78393c46",
      "new_mode": 33188,
      "new_path": "ssh/mux_test.go"
    }
  ]
}
