Jan Kiszka <[email protected]> writes:
> On 06.04.22 17:56, Philippe Gerum via Xenomai wrote: >> From: Philippe Gerum <[email protected]> >> >> Allow for sending a set of event bits to the heading waiter only, >> instead of broadcasting them to all waiters. >> >> This change affects the ABI, since we add a set of operation flags to >> the cobalt_event_sync service, to pass the new COBALT_EVENT_BCAST >> flag. It also affects the internal API as follows: >> >> - the new cobalt_event_broadcast() call behaves like >> cobalt_event_post() formerly did, which is broadcasting the event to >> all waiters atomically. >> >> - the new cobalt_event_signal() call implements the single-waiter >> delivery mode we introduce. >> >> - the former cobalt_event_post() is now a wrapper to >> cobalt_event_broadcast(), marked with a deprecation flag. > > Strictly spoken, deprecation will come with patch 4 only. > > Can we have some test cases for the new features as well? Who will use them? > Patch #1 comes with a new test for the autoclear thingy, I'll add a test case for the single wakeup as well. Alchemy will use them. This interface is useful to anyone who needs the complete event flag group semantics without incurring the (significant) extra cost of a mutex+condvar combo. Typically, although the broadcast mode is a no-brainer, implementing the single-wakeup pattern is not trivial with the latter. -- Philippe.
