Message queues, as described in queue.h
.
This directory provides two targets.
message_queue_library
) provides APIs for message queues that can be shared between two threads in the same compartment.message_queue
) wraps these in APIs that can be used from different compartments.The library uses the setjmp
-based error handler (see: unwind.h
) to recover from invalid bounds or permissions. If you are using the library and want to be robust in the presence of CHERI exceptions, you should either add unwind_error_handler
as a dependency of your compartment or provide an error handler that calls cleanup_unwind
.