|
CHERIoT RTOS
A compartmentalised RTOS for CHERIoT hardware
|
Implementation details, should not be used outside of this header. More...
Functions | |
| template<typename T> | |
| TokenKey | sealing_key_for_type () |
| Helper that generates a different sealing key per type using the allocator's token mechanism. | |
| template<typename T> | |
| __cheri_callback void | wrap_callback_lambda (CHERI_SEALED(void *) rawFn) |
| Helper that provides a callback function for invoking and then freeing a sealed heap-allocated lambda. | |
| template<typename Fn> | |
| __cheri_callback void | wrap_callback_function (CHERI_SEALED(void *)) |
| Helper to wrap pure C function (including a stateless lambda) as a callback. | |
Implementation details, should not be used outside of this header.
|
inline |
Helper that generates a different sealing key per type using the allocator's token mechanism.
Definition at line 86 of file thread_pool.h.
References token_key_new().
Referenced by thread_pool::async(), and wrap_callback_lambda().
| __cheri_callback void thread_pool::detail::wrap_callback_function | ( | CHERI_SEALED(void *) | ) |
Helper to wrap pure C function (including a stateless lambda) as a callback.
Definition at line 126 of file thread_pool.h.
Referenced by thread_pool::async().
| __cheri_callback void thread_pool::detail::wrap_callback_lambda | ( | CHERI_SEALED(void *) | rawFn | ) |
Helper that provides a callback function for invoking and then freeing a sealed heap-allocated lambda.
The lambda is sealed with the software-defined sealing key constructed by the sealing_key_for_type helper.
Definition at line 99 of file thread_pool.h.
References sealing_key_for_type(), token_obj_destroy(), and token_unseal().
Referenced by thread_pool::async().