Victor Stinner
e40a97a721
[3.8] bpo-36402: Fix threading._shutdown() race condition (GH-13948) (GH-14050)
...
* bpo-36402: Fix threading._shutdown() race condition (GH-13948)
Fix a race condition at Python shutdown when waiting for threads.
Wait until the Python thread state of all non-daemon threads get
deleted (join all non-daemon threads), rather than just wait until
Python threads complete.
* Add threading._shutdown_locks: set of Thread._tstate_lock locks
of non-daemon threads used by _shutdown() to wait until all Python
thread states get deleted. See Thread._set_tstate_lock().
* Add also threading._shutdown_locks_lock to protect access to
threading._shutdown_locks.
* Add test_finalization_shutdown() test.
(cherry picked from commit 468e5fec8a )
* bpo-36402: Fix threading.Thread._stop() (GH-14047)
Remove the _tstate_lock from _shutdown_locks, don't remove None.
(cherry picked from commit 6f75c87375 )
2019-06-13 13:44:23 +02:00
..
2019-06-11 13:32:12 -07:00
2019-06-01 11:00:15 +03:00
2019-05-28 21:02:52 +09:00
2019-06-08 11:46:53 +02:00
2019-05-06 22:40:27 +03:00
2019-04-29 16:23:28 -07:00
2019-06-12 10:44:29 -07:00
2019-06-11 16:28:10 -07:00
2019-06-03 01:12:33 +02:00
2019-03-06 06:42:21 -05:00
2019-05-06 22:29:40 +03:00
2019-06-07 16:05:18 -04:00
2019-06-07 14:44:03 -07:00
2019-05-14 18:52:42 +02:00
2019-06-03 01:12:33 +02:00
2019-06-04 16:20:17 +01:00
2019-05-31 09:43:13 -07:00
2019-06-01 11:00:15 +03:00
2019-06-04 19:44:34 +02:00
2018-12-17 16:52:45 +02:00
2019-06-13 13:44:23 +02:00
2019-04-05 13:17:13 +03:00
2019-06-03 01:12:33 +02:00
2019-06-01 11:00:15 +03:00
2019-06-04 17:55:29 +02:00
2019-04-10 10:19:16 -07:00
2019-05-24 20:24:42 +03:00
2019-05-09 07:22:47 +02:00
2019-05-06 22:29:40 +03:00
2018-12-19 08:19:39 -08:00
2019-06-01 11:00:15 +03:00
2019-01-24 16:49:56 -07:00
2019-05-21 12:44:57 +02:00
2018-12-19 18:19:01 +01:00
2019-06-01 11:00:15 +03:00
2019-05-06 22:29:40 +03:00
2019-06-13 00:23:49 +02:00
2018-05-20 13:42:30 -04:00
2019-06-01 11:00:15 +03:00
2019-05-20 10:01:07 -07:00
2018-12-31 09:56:21 +02:00
2018-03-18 09:55:53 +02:00
2018-09-13 22:45:00 -07:00
2019-06-07 14:11:59 -07:00
2019-06-12 16:17:05 +02:00
2019-05-06 22:29:40 +03:00
2018-07-24 12:52:51 +03:00
2019-06-03 01:12:33 +02:00
2019-04-08 17:01:09 +09:00
2018-11-01 12:33:35 +02:00
2018-10-23 01:14:35 -07:00
2018-05-09 12:39:32 +03:00
2019-05-31 22:44:00 +03:00
2019-05-15 23:45:18 +02:00
2019-03-03 18:23:19 -08:00
2019-06-01 11:00:15 +03:00
2018-01-22 19:11:18 -05:00
2018-07-09 23:14:54 +03:00
2018-10-31 02:28:07 +02:00
2019-05-06 22:40:27 +03:00
2019-05-10 03:50:11 +02:00
2019-06-02 22:14:48 -04:00
2019-04-29 15:22:03 +02:00
2019-01-02 14:49:25 +02:00
2019-04-29 13:36:57 +01:00
2019-05-06 22:29:40 +03:00
2019-03-03 14:09:11 -08:00
2019-06-02 23:01:49 +02:00
2018-02-09 13:30:19 +02:00
2019-04-15 13:37:04 +01:00
2019-04-09 00:34:02 +02:00
2019-06-01 11:00:15 +03:00
2018-09-18 11:28:51 +03:00
2019-05-09 16:22:15 +02:00
2019-05-13 10:50:52 +03:00
2018-07-31 09:50:16 +03:00
2019-05-31 21:13:57 -07:00
2018-09-10 11:10:01 -07:00
2019-04-15 18:23:20 +02:00
2018-07-06 20:41:06 -07:00
2019-06-08 05:24:59 -07:00
2019-05-23 08:45:22 -07:00
2019-05-14 19:32:59 +09:00
2019-03-25 22:01:12 +00:00
2018-05-06 10:52:38 +03:00
2018-10-18 20:21:47 -04:00
2018-10-10 16:46:44 +02:00
2019-05-24 23:57:23 +02:00
2019-03-28 14:47:18 -07:00
2018-03-23 14:34:35 +02:00
2019-06-01 11:00:15 +03:00
2018-09-07 17:30:33 +02:00
2019-03-29 16:37:16 -07:00
2019-05-21 19:44:40 +02:00
2019-06-01 18:08:04 +01:00
2019-05-31 11:29:39 +03:00
2019-05-26 17:10:09 +02:00
2019-05-06 14:57:17 -04:00
2019-05-15 23:14:38 +03:00
2018-11-01 12:33:35 +02:00
2019-04-17 17:05:30 +02:00
2019-03-22 10:22:20 -07:00
2019-05-06 22:40:27 +03:00
2019-06-03 01:12:33 +02:00
2019-05-28 19:29:04 +03:00
2019-06-03 01:12:33 +02:00
2019-05-24 04:38:01 -07:00
2018-01-16 00:27:16 +01:00
2019-06-01 11:00:15 +03:00
2019-05-31 10:39:47 +03:00
2018-04-09 17:16:01 +03:00
2019-06-01 20:09:22 +01:00
2019-05-31 11:30:37 +03:00
2018-09-12 10:28:53 -07:00
2019-02-03 23:19:38 -08:00
2018-11-01 12:33:35 +02:00
2019-04-09 04:42:06 +02:00
2018-12-21 14:22:09 -08:00
2018-10-05 20:53:45 +03:00
2019-05-06 22:29:40 +03:00
2018-09-18 09:16:26 +03:00
2019-06-03 20:40:15 +02:00
2018-08-09 22:12:08 -07:00
2019-06-05 08:18:13 -07:00
2019-06-01 11:00:15 +03:00
2019-06-08 08:15:02 -07:00
2018-03-18 09:55:53 +02:00
2019-01-31 12:40:27 +01:00
2018-10-20 01:46:00 +01:00
2019-06-12 10:44:29 -07:00
2019-03-27 13:16:34 -07:00
2019-05-31 11:30:37 +03:00
2019-06-13 13:44:23 +02:00
2018-06-06 17:55:18 +02:00
2019-03-07 12:38:08 -08:00
2019-05-30 15:06:32 -07:00
2019-06-01 14:49:09 +10:00
2018-09-10 10:02:33 -07:00
2019-06-03 01:12:33 +02:00
2019-05-24 23:57:23 +02:00
2019-06-01 11:00:15 +03:00
2019-01-17 17:15:53 +03:00
2019-01-17 13:16:51 +01:00
2019-03-01 18:17:55 +01:00
2018-03-18 09:55:53 +02:00
2019-06-01 11:00:15 +03:00
2018-11-26 23:29:45 +02:00
2019-06-03 01:12:33 +02:00
2019-05-23 08:45:22 -07:00