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-09-24 02:40:53 +02:00
2024-09-28 16:12:53 +00:00
2024-09-16 12:23:05 +08:00
2024-09-19 00:11:50 +02:00
2024-05-13 16:03:52 +02:00
2024-06-24 17:11:47 +01:00
2024-08-30 15:42:27 +00:00
2024-04-08 10:58:38 -04:00
2024-10-01 12:39:56 -04:00
2024-06-24 17:11:47 +01:00
2024-09-29 15:22:39 +00:00
2024-09-16 23:28:09 +03:00
2024-06-27 09:58:44 +00:00
2024-10-02 14:31:23 +00:00
2024-09-04 12:57:16 -07:00
2024-05-03 11:30:55 -04:00
2024-09-02 18:17:48 +02:00
2024-05-03 11:30:55 -04:00
2024-05-03 11:30:55 -04:00
2024-09-29 02:25:23 +02:00
2024-09-26 18:21:11 +02:00
2024-07-03 11:08:11 +02:00
2024-05-03 11:30:55 -04:00
2024-08-29 11:12:37 +03:00
2024-07-01 08:10:03 +00:00
2024-10-02 14:31:23 +00:00
2024-09-26 15:30:21 +00:00
2024-05-03 11:30:55 -04:00
2024-08-23 12:12:58 +03:00
2024-09-26 16:50:38 +02:00
2024-05-03 11:30:55 -04:00
2024-08-30 15:42:27 +00:00
2024-05-22 12:35:18 -04:00
2024-07-15 19:43:59 +00:00
2024-07-15 19:43:59 +00:00
2024-07-15 19:43:59 +00:00
2024-06-24 09:49:01 +03:00
2024-07-23 20:02:54 +03:00
2024-10-02 13:58:47 +00:00
2024-07-18 20:46:24 -07:00
2024-05-03 11:30:55 -04:00
2024-08-17 13:48:16 +05:30
2024-07-10 23:48:37 +01:00
2024-08-10 20:16:34 +01:00
2024-09-29 10:40:20 +03:00
2024-07-30 18:39:54 -07:00
2024-05-03 11:30:55 -04:00
2024-09-29 10:40:20 +03:00
2024-05-03 11:30:55 -04:00
2023-06-01 09:42:18 -07:00
2023-06-01 09:42:18 -07:00
2023-06-01 09:42:18 -07:00
2024-09-30 12:43:50 -07:00
2023-05-22 06:14:48 +05:30
2024-08-28 14:41:04 +03:00
2024-05-03 11:30:55 -04:00
2024-09-20 12:08:59 +02:00
2024-05-03 11:30:55 -04:00
2024-05-03 11:30:55 -04:00
2024-06-18 12:04:52 +00:00
2024-01-29 16:45:31 +01:00
2024-10-02 09:17:49 -07:00
2024-05-06 18:59:36 +02:00
2024-08-12 16:52:48 +03:00
2024-09-12 12:37:06 -04:00
2024-05-03 11:30:55 -04:00
2024-09-24 20:08:18 +00:00
2024-09-29 15:22:39 +00:00
2024-05-06 18:59:36 +02:00
2024-09-20 10:27:34 +02:00
2024-09-09 14:58:26 +02:00
2024-09-04 13:43:50 +02:00
2024-05-06 18:59:36 +02:00
2024-08-28 18:27:40 -07:00
2024-05-03 11:30:55 -04:00
2024-07-23 17:06:03 +00:00
2024-08-07 16:07:26 +01:00
2024-06-10 11:54:35 +02:00
2024-07-19 08:06:02 +00:00
2024-05-03 11:30:55 -04:00
2024-05-07 11:18:45 +02:00
2024-09-16 12:23:05 +08:00
2024-08-17 13:48:16 +05:30
2023-10-12 09:34:35 +02:00
2024-05-03 11:30:55 -04:00
2024-07-19 08:06:02 +00:00
2024-08-01 00:23:10 +00:00
2024-05-03 11:30:55 -04:00
2023-09-01 18:36:53 +02:00
2023-07-04 09:41:43 +00:00
2024-07-11 16:21:37 -04:00
2024-07-11 16:21:37 -04:00
2024-05-03 11:30:55 -04:00
2023-11-20 15:52:00 +02:00
2024-09-25 13:38:05 -07:00
2024-07-22 13:04:08 +02:00
2024-08-09 00:00:55 +02:00
2024-09-29 10:40:20 +03:00
2024-05-03 11:30:55 -04:00
2024-05-10 10:47:30 +01:00
2024-06-27 09:58:44 +00:00
2024-09-25 16:23:30 +02:00
2024-03-12 00:46:53 +00:00
2024-05-03 11:30:55 -04:00
2024-06-19 17:38:45 +01:00
2024-05-06 18:59:36 +02:00
2024-05-03 11:30:55 -04:00
2024-07-03 13:05:05 +05:30
2024-08-28 14:41:04 +03:00
2024-08-23 08:40:31 +02:00
2024-07-10 23:48:37 +01:00
2024-09-29 15:22:39 +00:00
2024-05-03 11:30:55 -04:00
2024-05-03 11:30:55 -04:00
2024-08-28 14:41:04 +03:00
2024-09-25 16:23:30 +02:00
2024-09-09 14:59:13 +00:00
2024-09-05 22:59:48 +02:00
2024-06-17 06:51:03 -07:00
2024-05-03 11:30:55 -04:00
2024-05-31 17:18:40 +02:00
2024-09-27 10:35:18 -04:00
2024-09-13 07:47:04 -07:00
2024-05-03 11:30:55 -04:00
2024-09-13 07:47:04 -07:00
2024-05-03 11:30:55 -04:00
2024-05-03 11:30:55 -04:00
2024-05-03 11:30:55 -04:00
2024-05-03 11:30:55 -04:00
2024-06-27 09:58:44 +00:00