)]}'
{
  "commit": "07525c9a85e7fa04db565c6e6e6605ff6099dcb7",
  "tree": "b12112a245641172073d1f1df8212aa082ec8db8",
  "parents": [
    "b45af00bad3449b85c8f54ba7a9474ca1f52de69"
  ],
  "author": {
    "name": "Dino Viehland",
    "email": "dinoviehland@meta.com",
    "time": "Fri Apr 19 21:47:42 2024"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Apr 19 21:47:42 2024"
  },
  "message": "gh-116818: Make `sys.settrace`, `sys.setprofile`, and monitoring thread-safe (#116775)\n\nMakes sys.settrace, sys.setprofile, and monitoring generally thread-safe.\r\n\r\nMostly uses a stop-the-world approach and synchronization around the code object\u0027s _co_instrumentation_version.  There may be a little bit of extra synchronization around the monitoring data that\u0027s required to be TSAN clean.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c3e132d3877ca51061c14044082820bb738d3bfe",
      "old_mode": 33188,
      "old_path": "Include/cpython/pyatomic.h",
      "new_id": "69083f1d9dd0c23211cda4fa11592e17c0647257",
      "new_mode": 33188,
      "new_path": "Include/cpython/pyatomic.h"
    },
    {
      "type": "modify",
      "old_id": "0b40f81bd8736dec150188ec549497ec87e80287",
      "old_mode": 33188,
      "old_path": "Include/cpython/pyatomic_gcc.h",
      "new_id": "af78a94c736545f677b48865f57259d06ff42548",
      "new_mode": 33188,
      "new_path": "Include/cpython/pyatomic_gcc.h"
    },
    {
      "type": "modify",
      "old_id": "3205e253b2854668565aaebd3dfc14f421b82ccd",
      "old_mode": 33188,
      "old_path": "Include/cpython/pyatomic_msc.h",
      "new_id": "212cd7817d01c5271b04908c35e044c9377e1284",
      "new_mode": 33188,
      "new_path": "Include/cpython/pyatomic_msc.h"
    },
    {
      "type": "modify",
      "old_id": "ef34bb0b77dfe55ee61fb72441e8361b6329dfd9",
      "old_mode": 33188,
      "old_path": "Include/cpython/pyatomic_std.h",
      "new_id": "6a77eae536d8ddea2ad2b7bc5af5d77fd995e97a",
      "new_mode": 33188,
      "new_path": "Include/cpython/pyatomic_std.h"
    },
    {
      "type": "modify",
      "old_id": "b453328f15649eb6dac020869a6c2dd040d03c12",
      "old_mode": 33188,
      "old_path": "Include/internal/pycore_ceval_state.h",
      "new_id": "168295534e036cac8395e3b163bd1f37a1f7859f",
      "new_mode": 33188,
      "new_path": "Include/internal/pycore_ceval_state.h"
    },
    {
      "type": "modify",
      "old_id": "60020b5c01f8a6c51665a9527af022335c58e98d",
      "old_mode": 33188,
      "old_path": "Include/internal/pycore_gc.h",
      "new_id": "9e465fdd86279f333f23953ea00aa49158e3ebb5",
      "new_mode": 33188,
      "new_path": "Include/internal/pycore_gc.h"
    },
    {
      "type": "modify",
      "old_id": "2514f51f1b00862317d125f4ab1296fb2bc2bfdd",
      "old_mode": 33188,
      "old_path": "Include/internal/pycore_pyatomic_ft_wrappers.h",
      "new_id": "fed5d6e0ec2c54ef6cde320ae74bb44ad9c536a9",
      "new_mode": 33188,
      "new_path": "Include/internal/pycore_pyatomic_ft_wrappers.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9a89d27ba9f979d0a5ea25d7e10c3c6a5aab7d28",
      "new_mode": 33188,
      "new_path": "Lib/test/test_free_threading/__init__.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e170840ca3cb2778fb45c781b420ad9889f38fdf",
      "new_mode": 33188,
      "new_path": "Lib/test/test_free_threading/test_monitoring.py"
    },
    {
      "type": "modify",
      "old_id": "fd8678cdaf820747451606c1937e543b3176e176",
      "old_mode": 33188,
      "old_path": "Makefile.pre.in",
      "new_id": "f7c21a380caa99f8fc6b73ded31ce4e8c55dc111",
      "new_mode": 33188,
      "new_path": "Makefile.pre.in"
    },
    {
      "type": "modify",
      "old_id": "c34d702f06418e88348754443650298d9afb5d94",
      "old_mode": 33188,
      "old_path": "Python/bytecodes.c",
      "new_id": "c1fbd3c7d26e01ea53e7fbcaa66a742862fc8cbf",
      "new_mode": 33188,
      "new_path": "Python/bytecodes.c"
    },
    {
      "type": "modify",
      "old_id": "b88e555ded5c2ee132fc6eef40a545634af57b90",
      "old_mode": 33188,
      "old_path": "Python/ceval.c",
      "new_id": "2f217c5f33c6cef1aa182bebe9b277936a8aaff7",
      "new_mode": 33188,
      "new_path": "Python/ceval.c"
    },
    {
      "type": "modify",
      "old_id": "fccff24a41858614a27954797713702e47cc9593",
      "old_mode": 33188,
      "old_path": "Python/executor_cases.c.h",
      "new_id": "df87f9178f17cfc732e0bde7edbe6bcf9d1e2e0f",
      "new_mode": 33188,
      "new_path": "Python/executor_cases.c.h"
    },
    {
      "type": "modify",
      "old_id": "a7764b0ec12e108953d15039bf72912ad82976fa",
      "old_mode": 33188,
      "old_path": "Python/generated_cases.c.h",
      "new_id": "a426d9e208492ec6ddb349f5a928c658140eb9e6",
      "new_mode": 33188,
      "new_path": "Python/generated_cases.c.h"
    },
    {
      "type": "modify",
      "old_id": "3866144a19bf7475a186033f0a0fd135b7ceedcf",
      "old_mode": 33188,
      "old_path": "Python/instrumentation.c",
      "new_id": "71efeff077633d9e10370c980d3adc07e655b69c",
      "new_mode": 33188,
      "new_path": "Python/instrumentation.c"
    },
    {
      "type": "modify",
      "old_id": "ccbb3eb3f7c82a2502c0743c072e3e16f8b39908",
      "old_mode": 33188,
      "old_path": "Python/legacy_tracing.c",
      "new_id": "d7aae7d2343ac2a82d2b1e044be92e8184193592",
      "new_mode": 33188,
      "new_path": "Python/legacy_tracing.c"
    },
    {
      "type": "modify",
      "old_id": "37480df88aeb7264eb4336210871e1bd9305e436",
      "old_mode": 33188,
      "old_path": "Python/pystate.c",
      "new_id": "06806bd75fbcb27fd2b46d70020515b48de63d8a",
      "new_mode": 33188,
      "new_path": "Python/pystate.c"
    },
    {
      "type": "modify",
      "old_id": "b195aff377b3b5a05a5682442be1629093ea2b37",
      "old_mode": 33188,
      "old_path": "Tools/jit/template.c",
      "new_id": "228dc83254d678cf77aa0813997c1f1c6c0fc5ed",
      "new_mode": 33188,
      "new_path": "Tools/jit/template.c"
    }
  ]
}
