blob: b5837a302046288b2e23c10987f8e5709f82cf49 [file] [log] [blame] [view]
Message queues
==============
Message queues, as described in [`queue.h`](../../include/queue.h).
This directory provides two targets.
- The message queue library (`message_queue_library`) provides APIs for message queues that can be shared between two threads in the same compartment.
- The message queue 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`](../../include/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`.