Sam Gross
441affc9e7
gh-111964: Implement stop-the-world pauses (gh-112471)
...
The `--disable-gil` builds occasionally need to pause all but one thread. Some
examples include:
* Cyclic garbage collection, where this is often called a "stop the world event"
* Before calling `fork()`, to ensure a consistent state for internal data structures
* During interpreter shutdown, to ensure that daemon threads aren't accessing Python objects
This adds the following functions to implement global and per-interpreter pauses:
* `_PyEval_StopTheWorldAll()` and `_PyEval_StartTheWorldAll()` (for the global runtime)
* `_PyEval_StopTheWorld()` and `_PyEval_StartTheWorld()` (per-interpreter)
(The function names may change.)
These functions are no-ops outside of the `--disable-gil` build.
2024-01-23 11:08:23 -07:00
..
2024-01-16 18:05:15 +02:00
2023-11-27 18:58:43 +01:00
2022-11-09 10:50:09 -08:00
2023-12-20 14:27:25 +00:00
2024-01-16 09:32:01 +00:00
2023-02-28 14:16:39 -07:00
2024-01-16 09:32:01 +00:00
2023-12-11 21:27:06 +02:00
2023-09-30 22:21:20 +00:00
2024-01-22 11:56:28 +00:00
2024-01-23 11:08:23 -07:00
2024-01-18 15:49:50 +00:00
2024-01-12 11:58:23 +00:00
2023-11-30 11:12:49 +01:00
2024-01-06 14:20:08 +00:00
2023-09-30 19:25:54 +02:00
2024-01-16 16:14:56 +00:00
2023-11-08 15:39:29 -07:00
2023-12-13 00:31:30 +00:00
2023-12-07 13:47:55 +00:00
2023-09-02 16:50:18 +02:00
2023-10-04 22:50:29 +00:00
2023-10-04 22:50:29 +00:00
2023-10-04 22:50:29 +00:00
2023-10-04 22:50:29 +00:00
2023-09-08 17:54:45 +01:00
2023-09-15 15:04:21 -07:00
2023-12-21 01:46:41 +00:00
2024-01-15 11:41:06 +00:00
2023-12-12 11:25:27 +01:00
2024-01-22 17:12:06 +00:00
2023-06-02 01:33:17 +02:00
2023-10-26 13:43:10 +00:00
2023-12-03 12:18:24 +01:00
2023-09-30 20:06:45 +00:00
2023-07-03 22:35:46 +00:00
2024-01-18 18:15:00 +00:00
2024-01-18 18:15:00 +00:00
2024-01-21 01:14:45 +09:00
2024-01-22 11:56:28 +00:00
2023-12-04 13:14:56 +02:00
2024-01-16 21:54:05 +01:00
2023-09-29 10:56:49 +02:00
2022-11-15 09:45:11 -07:00
2023-08-24 18:53:50 +02:00
2023-12-06 15:09:22 +01:00
2023-12-07 12:33:40 -07:00
2023-10-04 22:50:29 +00:00
2024-01-08 11:58:58 +02:00
2024-01-05 09:45:22 +00:00
2023-11-14 00:31:02 +00:00
2023-11-03 16:39:50 +00:00
2023-12-15 18:56:55 -07:00
2024-01-16 18:05:15 +02:00
2023-10-11 14:44:06 +03:00
2023-09-03 18:54:27 +02:00
2023-12-20 15:09:12 +00:00
2024-01-12 11:58:23 +00:00
2024-01-15 11:41:06 +00:00
2023-12-06 15:54:57 +09:00
2023-09-29 10:56:49 +02:00
2023-12-21 19:28:55 +00:00
2023-07-04 09:41:43 +00:00
2023-12-06 15:09:22 +01:00
2024-01-18 18:15:00 +00:00
2024-01-23 11:08:23 -07:00
2023-09-01 18:36:53 +02:00
2023-09-02 23:15:54 +02:00
2023-09-06 15:56:08 +02:00
2024-01-16 09:32:01 +00:00
2023-12-11 11:44:22 +00:00
2023-11-02 09:16:34 +00:00
2023-12-01 19:50:10 +01:00
2024-01-11 13:33:05 +08:00
2024-01-08 15:10:45 +00:00
2023-07-25 15:28:30 +02:00
2024-01-11 20:31:24 +02:00
2024-01-16 09:32:01 +00:00
2024-01-21 13:49:49 +01:00
2023-11-04 13:59:24 +00:00
2023-11-04 13:59:24 +00:00
2023-11-09 21:02:30 +01:00
2023-10-17 23:05:49 +00:00
2024-01-16 09:32:01 +00:00
2023-09-06 15:56:08 +02:00
2023-11-01 22:55:10 +00:00