Ref: synchronizing init task with an arbitrary number of worker tasks

Andrei Dimitrief-Jianu andrei.dimitrief.jianu at
Wed Sep 26 02:22:56 UTC 2012

Yes, I could use a barrier w/ RTEMS_BARRIER_AUTOMATIC_RELEASE.
However, I would prevent from finishing the tasks that I want to
synchronize (probably this is the reason why barriers are recommended
for the initialization phase). I need something that would let the
workers to finish and keep a count of how many of them have finished,
and when that count is reached it would release the init task as well.

What I was looking for was a synchronization event that could be
described by an API similar to:

rtems_status_code rtems_synch_event_initialize( rtems_synch_event
*synch_event, int wait_count );

rtems_status_code rtems_synch_event_wait_one( rtems_synch_event *synch_event );

rtems_status_code rtems_synch_event_wait_all( rtems_synch_event *synch_event );

rtems_status_code rtems_synch_event_set( rtems_synch_event *synch_event );

rtems_status_code rtems_synch_event_reset( rtems_synch_event *synch_event );


On Tue, Sep 25, 2012 at 7:48 PM, Gedare Bloom <gedare at> wrote:
> A barrier should work.
> On Tue, Sep 25, 2012 at 6:30 PM, Andrei Dimitrief-Jianu
> <andrei.dimitrief.jianu at> wrote:
>> Hello,
>> I have an arbitrary number of worker tasks created and started in the
>> init task. I would like to have the init task wait on all of them to
>> finish and perform an exit() afterwards.
>> Anyone can suggest a pattern to use for synchronization?
>> Thank you!
>> _______________________________________________
>> rtems-users mailing list
>> rtems-users at

More information about the users mailing list