Jeremy Maitin-Shepard
8cc5aa47ee
gh-87135: Hang non-main threads that attempt to acquire the GIL during finalization (GH-105805)
...
Instead of surprise crashes and memory corruption, we now hang threads that attempt to re-enter the Python interpreter after Python runtime finalization has started. These are typically daemon threads (our long standing mis-feature) but could also be threads spawned by extension modules that then try to call into Python. This marks the `PyThread_exit_thread` public C API as deprecated as there is no plausible safe way to accomplish that on any supported platform in the face of things like C++ code with finalizers anywhere on a thread's stack. Doing this was the least bad option.
Co-authored-by: Gregory P. Smith <greg@krypto.org >
2024-10-02 09:17:49 -07:00
..
2024-07-08 14:32:30 -04:00
2023-08-26 04:05:17 +02:00
2022-06-20 16:04:52 +02:00
2024-05-03 06:17:32 -07:00
2024-05-03 06:17:32 -07:00
2024-04-24 16:18:24 +00:00
2024-09-27 09:38:04 -07:00
2023-08-21 18:05:59 +00:00
2023-08-21 19:15:52 +02:00
2024-02-09 17:08:32 -05:00
2024-04-12 07:40:55 +00:00
2024-07-25 17:31:30 +02:00
2024-06-27 11:09:30 +01:00
2023-08-29 01:20:02 +00:00
2024-03-29 13:35:43 -04:00
2024-05-05 03:07:29 +02:00
2024-09-27 00:35:42 +00:00
2024-09-06 15:52:07 +02:00
2024-09-29 02:25:23 +02:00
2024-09-16 15:05:00 +01:00
2023-11-15 16:38:31 +00:00
2024-02-02 13:50:51 +00:00
2024-09-23 20:40:17 -07:00
2024-06-21 15:50:18 -04:00
2024-04-11 23:23:25 +00:00
2023-07-22 20:57:59 +00:00
2024-10-01 12:39:56 -04:00
2024-10-01 12:39:56 -04:00
2024-06-30 11:40:40 +02:00
2023-09-08 17:54:45 +01:00
2023-09-15 15:04:21 -07:00
2022-01-22 21:48:56 +01:00
2023-08-21 18:05:59 +00:00
2023-08-21 19:15:52 +02:00
2024-04-30 22:32:55 +02:00
2024-07-22 12:08:27 -04:00
2024-05-30 21:55:06 +01:00
2023-05-07 10:11:42 +05:30
2024-09-24 20:08:18 +00:00
2024-09-24 01:28:59 +00:00
2024-09-24 01:28:59 +00:00
2024-05-03 16:21:04 -04:00
2024-09-24 20:08:18 +00:00
2024-06-24 10:23:38 +01:00
2024-05-06 23:07:23 -04:00
2024-09-25 14:43:58 -07:00
2024-07-27 17:24:10 +00:00
2024-09-25 14:43:58 -07:00
2022-11-16 09:54:28 -07:00
2023-08-24 16:06:53 +00:00
2024-06-06 13:40:58 -04:00
2024-08-13 14:44:57 -06:00
2024-09-02 23:25:08 +02:00
2024-09-09 18:21:51 +01:00
2024-06-07 10:19:41 +02:00
2024-10-01 13:32:55 -04:00
2024-05-03 06:17:32 -07:00
2024-06-27 03:10:43 +08:00
2024-09-17 14:43:39 +00:00
2024-01-23 11:08:23 -07:00
2024-07-08 14:52:07 -04:00
2024-09-29 10:40:20 +03:00
2024-09-25 15:51:25 +01:00
2023-08-24 19:07:54 +02:00
2024-08-15 09:01:01 -04:00
2024-07-03 18:36:57 +02:00
2024-10-02 14:31:04 +00:00
2023-07-25 03:16:28 +00:00
2024-01-21 01:14:45 +09:00
2024-06-27 03:10:43 +08:00
2024-07-22 12:08:27 -04:00
2024-07-22 12:08:27 -04:00
2024-10-01 17:05:42 +00:00
2024-01-26 19:38:14 -08:00
2024-01-26 19:38:14 -08:00
2024-09-25 15:51:25 +01:00
2024-06-11 13:06:49 +00:00
2024-09-27 00:35:42 +00:00
2024-02-20 16:50:43 +00:00
2024-08-06 13:29:57 +02:00
2023-08-24 17:28:35 +02:00
2023-08-24 17:47:44 +00:00
2024-06-13 17:29:19 +08:00
2024-04-24 16:18:24 +00:00
2024-09-16 15:05:00 +01:00
2024-08-30 15:42:27 +00:00
2024-04-22 12:17:57 -07:00
2023-03-04 12:20:14 +00:00
2024-02-20 13:04:37 -05:00
2024-03-08 09:56:36 -08:00
2024-07-22 12:08:27 -04:00
2023-09-06 15:54:59 +00:00
2023-08-29 04:18:52 +02:00
2024-10-02 09:17:49 -07:00
2024-05-10 10:26:35 -04:00
2022-11-30 23:04:30 +02:00
2024-09-25 14:43:58 -07:00
2024-08-30 12:39:28 +01:00
2024-08-15 18:42:41 +00:00
2024-02-20 16:50:43 +00:00
2024-05-06 20:12:39 -04:00
2023-10-10 08:26:29 +09:00
2024-02-29 08:11:28 -08:00
2024-09-17 15:35:40 +00:00
2023-08-21 18:12:22 +00:00
2023-07-25 03:16:28 +00:00
2024-08-14 06:17:04 +01:00
2024-09-02 23:25:08 +02:00
2024-07-19 08:06:02 +00:00
2023-08-24 17:40:56 +02:00
2023-10-12 14:52:14 +00:00
2023-07-25 02:25:45 +00:00
2024-10-01 17:05:42 +00:00
2024-07-02 12:30:14 -04:00
2024-09-26 18:21:11 +02:00
2024-07-27 17:24:10 +00:00
2023-11-30 11:12:49 +01:00
2024-09-25 14:43:58 -07:00
2024-06-27 11:09:30 +01:00
2024-02-28 09:56:40 +00:00
2024-10-01 17:05:42 +00:00
2024-09-27 00:35:42 +00:00
2024-09-27 00:35:42 +00:00
2024-06-20 11:29:08 -04:00
2024-06-18 09:57:23 -04:00