)]}'
{
  "commit": "9310b29acd9e0985ab65f454959122336e3b7e78",
  "tree": "0592448d67d026dd433f8b7ea7555bc088f16644",
  "parents": [
    "9e36f71455a61a965bd8de67895bb6de3d22494d"
  ],
  "author": {
    "name": "Tommi",
    "email": "tommi@webrtc.org",
    "time": "Fri May 15 08:54:24 2026"
  },
  "committer": {
    "name": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Fri May 15 10:21:37 2026"
  },
  "message": "Fix race conditions in RTCPeerConnectionFactoryTests\n\ntestSetCodecPreferences and testSetHeaderExtensionsToNegotiate call\nofferForConstraints:completionHandler:, which asynchronously dispatches\nCreateOffer to the signaling thread. Both tests previously executed\n[peerConnection close] and object deallocation before waiting on\ndispatch_semaphore_wait. Closing and deallocating peerConnection\ndestroys the session, invalidating weak pointers on the signaling thread\nand causing the asynchronous CreateOffer task to fail. This change\ndefers closure and deallocation until after the semaphore wait\ncompletes.\n\nBug: none\nChange-Id: If269ceb4918fa0fcc4189044f35e6c1e72a6b6cc\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/472661\nCommit-Queue: Artem Titov \u003ctitovartem@webrtc.org\u003e\nReviewed-by: Artem Titov \u003ctitovartem@webrtc.org\u003e\nAuto-Submit: Tomas Gunnarsson \u003ctommi@webrtc.org\u003e\nCr-Commit-Position: refs/heads/main@{#47714}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ec88d6d2574b3a14c3ed899e879ba07b8ecbec51",
      "old_mode": 33188,
      "old_path": "sdk/objc/unittests/RTCPeerConnectionFactory_xctest.m",
      "new_id": "5c5d7c7fe36baa8dfb5da1d67251e42237a4ea8c",
      "new_mode": 33188,
      "new_path": "sdk/objc/unittests/RTCPeerConnectionFactory_xctest.m"
    }
  ]
}
