)]}'
{
  "commit": "a2cff62294d3d3bfc9aaaab047dff2ef0f06c9e9",
  "tree": "1af9c6ecebab65d7af78860b97385c4901bb4ee7",
  "parents": [
    "3b4be9e30b2f533ac7555250225a0ebc98f8375d"
  ],
  "author": {
    "name": "Corentin Wallez",
    "email": "cwallez@chromium.org",
    "time": "Thu May 28 14:39:02 2026 -0700"
  },
  "committer": {
    "name": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu May 28 14:39:02 2026 -0700"
  },
  "message": "[dawn][common] Signal the CondVar before unlocking the mutex.\n\nMutexCondVarProtected\u0027s guard unlocks the mutex before signaling the\ncondition variable. This means that usage of the condition variable\nitself is not always protected by the mutex, in particular an other\nthread could free the memory between mutex.unlock() and cv.signal().\n\nReorder the members of CondVarGuard to first notify the condition\nvariable and then unlock the mutex.\n\nAdds a test that tries to catch the incorrect behavior when running\nunder TSan. Without the fix it reports a warning.\n\nFixed: 517303276\nChange-Id: I373bdc4224d90b999199c58c5de0be1ba5f04c47\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/311897\nReviewed-by: Loko Kung \u003clokokung@google.com\u003e\nCommit-Queue: Corentin Wallez \u003ccwallez@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d47a245644a462c812c49679b559bf5a24200953",
      "old_mode": 33188,
      "old_path": "src/dawn/common/MutexProtected.h",
      "new_id": "6f091517ade35a2af64deb8dfa375e651979ec3a",
      "new_mode": 33188,
      "new_path": "src/dawn/common/MutexProtected.h"
    },
    {
      "type": "modify",
      "old_id": "5a9fafc7ca5d1fad967a23268e4c54fc551c8dd4",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/unittests/MutexProtectedTests.cpp",
      "new_id": "9c08ba433d854d4e54f8e2c33cad6c1927a7192f",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/unittests/MutexProtectedTests.cpp"
    }
  ]
}
