| 619 | } |
| 620 | |
| 621 | void acquire_gil_main_thread() { |
| 622 | PyThreadState* state = g_main_thread_state.exchange(nullptr, std::memory_order_acq_rel); |
| 623 | if (state) { |
| 624 | PyEval_RestoreThread(state); |
| 625 | } |
| 626 | } |
| 627 | |
| 628 | void release_gil_main_thread() { |
| 629 | PyThreadState* state = PyEval_SaveThread(); |