)]}' { "commit": "5ba80d404cd6d5dc6d1ccfcfc5f8fc560d82be06", "tree": "72180bb96766ac5546fdcaaad41351d9fa0cb0bc", "parents": [ "1c3f57e8f13d4f6dc818bdf06c3a40f768ef1ce5" ], "author": { "name": "Mike Frysinger", "email": "vapier@google.com", "time": "Tue May 04 17:58:26 2021 -0400" }, "committer": { "name": "Mike Frysinger", "email": "vapier@google.com", "time": "Tue May 04 23:49:29 2021 +0000" }, "message": "git_config: hoist Windows ssh check earlier\n\nThe ssh master logic has never worked under Windows which is why this\ncode always returned False when running there (including cygwin). But\nthe OS check was still done while holding the threading lock. While\nit might be a little slower than necessary, it still worked.\n\nThe switch from the threading module to the multiprocessing module\nchanged global behavior subtly under Windows and broke things: the\nglobals previously would stay valid, but now they get cleared. So\nthe lock is reset to None in children workers.\n\nWe could tweak the logic to pass the lock through, but there isn\u0027t\nmuch point when the rest of the code is still disabled in Windows.\nSo perform the platform check before we grab the lock. This fixes\nthe crash, and probably speeds things up a few nanoseconds.\n\nThis shouldn\u0027t be a problem on Linux systems as the platform fork\nwill duplicate the existing process memory (including globals).\n\nBug: https://crbug.com/gerrit/14480\nChange-Id: I1d1da82c6d7bd6b8cdc1f03f640a520ecd047063\nReviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/305149\nReviewed-by: Raman Tenneti \u003crtenneti@google.com\u003e\nTested-by: Mike Frysinger \u003cvapier@google.com\u003e\n", "tree_diff": [ { "type": "modify", "old_id": "914b29244a5e310b43953700ba832ddf8de1950b", "old_mode": 33188, "old_path": "git_config.py", "new_id": "fcd0446cb4bbf648c2149af0ddaa30aee31b4e3c", "new_mode": 33188, "new_path": "git_config.py" } ] }