Damien George
c7e8c6f7de
py/gc: Execute finaliser code in a protected environment.
...
If a finaliser raises an exception then it must not propagate through the
GC sweep function. This patch protects against such a thing by running
finaliser code via the mp_call_function_1_protected call.
This patch also adds scheduler lock/unlock calls around the finaliser
execution to further protect against any possible reentrancy issues: the
memory manager is already locked when doing a collection, but we also don't
want to allow any scheduled code to run, KeyboardInterrupts to interupt the
code, nor threads to switch.
2017-04-12 13:52:04 +10:00
..
2017-03-28 22:37:26 +11:00
2017-01-03 15:40:50 +11:00
2016-12-09 16:51:49 +11:00
2016-12-09 22:50:58 +11:00
2016-12-09 22:50:58 +11:00
2016-12-09 22:50:58 +11:00
2016-12-09 16:51:49 +11:00
2016-12-09 22:50:58 +11:00
2016-12-09 22:50:58 +11:00
2016-12-09 22:54:45 +11:00
2016-12-09 22:50:58 +11:00
2016-12-09 22:50:58 +11:00
2017-02-08 10:48:51 +11:00
2017-02-16 18:38:06 +11:00
2017-03-28 22:37:26 +11:00
2017-03-17 16:50:19 +11:00
2017-01-17 22:53:06 +03:00
2017-01-22 11:56:16 +11:00
2017-03-29 12:56:45 +11:00
2017-01-22 12:12:54 +11:00
2017-03-29 12:56:45 +11:00
2017-04-05 10:50:26 +10:00
2016-12-09 17:06:21 +11:00
2017-02-16 18:38:06 +11:00
2017-03-23 16:36:08 +11:00
2016-09-30 13:53:00 +10:00
2016-12-21 11:52:05 +11:00
2016-11-16 16:14:14 +11:00
2017-02-24 13:43:43 +11:00
2016-12-09 21:23:17 +11:00
2017-03-23 16:36:08 +11:00
2017-01-19 23:32:16 +11:00
2017-04-12 13:52:04 +10:00
2017-02-17 12:48:45 +11:00
2017-03-29 10:56:52 +11:00
2017-02-17 12:44:24 +11:00
2017-03-03 11:21:19 +11:00
2016-12-27 01:05:37 +03:00
2016-11-08 14:28:30 +11:00
2017-03-30 00:08:27 +03:00
2017-03-29 12:56:45 +11:00
2016-10-07 13:31:59 +11:00
2017-03-23 22:57:08 +11:00
2017-03-20 15:20:26 +11:00
2017-01-17 22:53:06 +03:00
2017-03-06 12:15:25 +01:00
2017-03-29 12:56:17 +11:00
2017-02-22 12:58:11 +11:00
2017-04-12 13:38:17 +10:00
2016-10-14 20:14:01 +03:00
2017-03-15 17:25:12 +11:00
2016-10-21 18:30:58 +11:00
2017-04-10 16:02:56 +10:00
2017-02-16 16:51:16 +11:00
2017-02-16 16:51:16 +11:00
2017-02-16 18:38:06 +11:00
2017-03-06 17:13:16 +11:00
2017-04-12 13:50:31 +10:00
2017-03-08 22:36:02 +11:00
2017-03-26 00:33:23 +03:00
2017-03-06 17:13:16 +11:00
2017-03-29 12:56:17 +11:00
2017-04-12 13:38:17 +10:00
2017-03-28 22:37:26 +11:00
2017-02-16 16:51:16 +11:00
2017-02-16 16:51:16 +11:00
2016-09-30 17:02:07 +10:00
2016-11-22 01:33:55 +03:00
2017-02-16 16:51:17 +11:00
2017-04-04 11:57:21 +10:00
2017-04-12 13:22:21 +10:00
2017-02-16 18:38:06 +11:00
2017-04-12 13:22:21 +10:00
2017-02-16 16:51:17 +11:00
2017-02-16 18:38:06 +11:00
2017-04-12 13:38:17 +10:00
2017-03-29 12:56:45 +11:00
2017-03-28 22:37:26 +11:00
2017-02-16 18:38:06 +11:00
2017-04-04 16:45:49 +10:00
2017-04-04 16:45:49 +10:00
2017-04-11 15:18:35 +10:00
2017-04-04 16:45:49 +10:00
2017-03-29 12:56:17 +11:00
2017-02-16 16:51:16 +11:00
2017-03-27 12:19:24 +11:00
2017-01-26 23:30:38 +11:00
2017-01-26 23:30:38 +11:00
2017-04-12 13:22:21 +10:00
2017-03-28 22:37:26 +11:00
2017-02-16 18:38:06 +11:00
2017-04-05 10:50:26 +10:00
2017-02-16 18:38:06 +11:00
2017-02-16 19:11:34 +11:00
2017-04-02 21:20:07 +03:00
2017-02-16 16:51:16 +11:00
2017-03-28 22:37:26 +11:00
2016-10-13 11:46:14 +11:00
2017-03-23 16:17:40 +11:00
2017-04-05 12:38:02 +10:00
2017-02-16 18:38:06 +11:00
2017-04-12 13:22:21 +10:00
2017-03-30 22:58:08 +11:00
2017-02-24 14:56:37 +11:00
2016-11-15 16:48:48 +11:00
2017-03-28 22:37:26 +11:00
2017-03-14 11:52:05 +11:00
2016-11-16 18:13:50 +11:00
2017-03-31 22:29:39 +11:00
2016-11-02 23:15:41 +11:00
2017-01-27 17:19:06 +11:00
2017-03-14 11:52:05 +11:00
2017-03-14 11:52:05 +11:00
2017-03-29 12:56:45 +11:00
2017-02-16 18:38:06 +11:00
2017-04-10 17:07:26 +10:00
2017-03-24 18:43:28 +11:00
2017-03-20 15:20:26 +11:00
2016-09-30 13:53:00 +10:00
2016-09-30 13:53:00 +10:00
2017-03-28 22:37:26 +11:00
2017-02-16 18:38:06 +11:00
2016-11-14 00:24:22 +03:00
2016-12-02 16:37:29 +11:00
2016-12-28 17:50:10 +11:00
2017-03-27 10:52:04 +11:00
2017-02-16 18:38:06 +11:00
2016-10-14 16:46:34 +11:00
2016-10-31 23:21:15 +03:00