Michał Chojnowski
fabab2f46f
utils: preempt: add preemption_source
...
While `preemption_check` can be passed to functions to control
their preemption points, there is no way to inspect the
state of the system after the preemption results in a yield.
`preemption_source` is a superset of `preemption_check`,
which also allows for customizing the yield, not just the preemption
check. An implementation passed by a test can hook the yield to
put the tested function to sleep, run some code, and then wake the
function up.
We use the preprocessor to minimize the impact on release builds.
Only dev-mode preemption_source is hookable. When it's used in other
modes, it should compile to direct reactor calls, as if it wasn't used.
2024-02-07 18:31:28 +01:00
..
2023-09-11 14:38:46 +03:00
2024-01-18 12:50:06 +02:00
2023-12-07 10:50:55 +03:00
2023-12-02 22:37:22 +02:00
2024-01-18 12:50:06 +02:00
2023-04-27 10:24:46 +03:00
2023-12-02 22:37:22 +02:00
2023-12-02 22:37:22 +02:00
2023-09-04 16:14:38 +03:00
2023-04-17 11:14:45 +03:00
2023-04-17 11:16:45 +03:00
2024-01-18 12:50:06 +02:00
2023-05-07 19:01:29 +03:00
2024-01-18 12:50:06 +02:00
2023-12-12 21:09:51 +08:00
2023-03-24 15:41:45 +08:00
2023-03-24 15:41:45 +08:00
2024-01-18 12:50:06 +02:00
2024-01-18 12:50:06 +02:00
2024-01-18 12:50:06 +02:00
2023-05-07 17:17:34 +03:00
2023-09-01 22:34:41 +02:00
2024-01-18 12:50:06 +02:00
2024-01-22 10:26:15 +02:00
2024-01-31 16:45:09 +02:00
2023-12-05 15:18:11 +02:00
2024-01-26 08:44:44 +01:00
2023-11-30 08:52:57 +03:00
2023-11-30 08:52:57 +03:00
2024-01-18 12:50:06 +02:00
2024-01-18 12:50:06 +02:00
2023-12-20 10:25:03 +02:00
2023-02-17 07:19:52 +02:00
2023-02-17 07:19:52 +02:00
2024-02-01 12:20:23 +05:30
2024-02-01 12:20:23 +05:30
2024-01-18 12:50:06 +02:00
2024-01-18 12:50:06 +02:00
2023-04-27 10:24:46 +03:00
2024-01-23 10:03:51 +02:00
2024-01-25 19:10:24 +08:00
2023-12-02 22:37:22 +02:00
2024-01-18 12:50:06 +02:00
2024-02-01 14:50:17 +02:00
2024-02-02 15:20:40 +01:00
2024-02-02 15:20:40 +01:00
2024-02-02 22:12:57 +08:00
2023-04-11 16:09:38 +03:00
2023-11-21 08:42:33 +00:00
2023-04-24 14:06:43 +03:00
2023-04-24 14:06:40 +03:00
2024-01-18 12:50:06 +02:00
2024-01-23 13:12:34 +02:00
2023-02-14 19:22:19 +08:00
2023-11-07 04:39:33 -05:00
2024-01-18 12:50:06 +02:00
2024-01-18 12:50:06 +02:00
2023-12-02 22:37:22 +02:00
2023-12-05 15:18:11 +02:00
2023-12-05 15:18:11 +02:00
2023-04-21 14:28:18 +03:00
2024-01-18 12:50:06 +02:00
2023-09-05 20:50:42 +03:00
2024-02-02 22:12:57 +08:00
2024-02-02 22:12:57 +08:00
2023-04-27 10:24:46 +03:00
2023-12-05 15:18:11 +02:00
2023-09-27 10:28:00 -04:00
2023-09-01 22:34:23 +02:00
2023-05-07 17:16:38 +03:00
2023-05-07 17:17:34 +03:00
2023-11-20 23:02:41 +02:00
2023-03-20 07:55:20 +02:00
2023-12-02 22:37:22 +02:00
2023-04-27 10:24:46 +03:00
2023-07-10 19:36:06 +02:00
2023-07-10 19:36:06 +02:00
2022-11-28 21:58:30 +02:00
2024-01-31 16:45:09 +02:00
2024-01-31 16:45:09 +02:00
2024-02-07 18:31:28 +01:00
2024-01-11 14:33:47 +08:00
2024-01-31 09:16:10 +02:00
2023-12-02 22:37:22 +02:00
2023-02-03 19:04:32 +01:00
2024-02-02 22:12:57 +08:00
2023-02-28 21:56:55 +08:00
2024-01-18 12:50:06 +02:00
2024-02-02 22:12:57 +08:00
2024-01-24 10:30:52 +02:00
2023-06-26 11:10:38 +03:00
2023-05-21 11:33:38 +04:00
2024-01-18 12:50:06 +02:00
2023-05-11 16:31:23 +03:00
2023-04-24 14:06:43 +03:00
2023-05-02 10:48:46 +03:00
2023-05-24 12:08:19 +04:00
2024-01-18 12:50:06 +02:00
2023-06-21 00:58:24 +02:00
2023-02-15 11:09:04 +02:00
2023-05-02 10:59:58 +03:00
2024-01-18 12:50:06 +02:00
2023-06-15 15:52:50 +04:00
2023-01-27 19:15:39 +01:00
2023-12-02 22:37:22 +02:00
2023-12-02 22:37:22 +02:00
2023-02-17 07:19:52 +02:00
2024-01-31 16:45:28 +02:00
2024-02-01 10:27:55 +02:00
2024-02-01 10:27:55 +02:00
2023-02-17 07:19:52 +02:00