I want to decide whether to use a Mailbox or a Queue+Event. In my application, multiple writer tasks send single 32-bit message pointers to a single reader task. I want to use a Mailbox because an event can be automatically posted to the reader task. With a Queue, a separate operation is required to post an event.
"SYS/BIOS (TI-RTOS Kernel) v6.40 User Guide", section 4.5.4 "Atomic Queue Operations" describes a separate API which disables interrupts for Queue operations when a Queue is shared by multiple tasks. There is no corresponding section in the User Guide for Mailboxes.
Why is disabling interrupts necessary for Queues and not Mailboxes when the data structure is shared by multiple tasks?