[PATCH 1/2] barrier: Remove leftover semaphore remnants

Gedare Bloom gedare at rtems.org
Tue Oct 1 22:07:02 UTC 2019


On Tue, Oct 1, 2019 at 3:53 PM Gedare Bloom <gedare at rtems.org> wrote:
>
> On Wed, Sep 4, 2019 at 3:36 PM Martin Erik Werner
> <martinerikwerner at gmail.com> wrote:
> >
> > Remove various incorrect references to "lock" and "obtain" and to an
> > option set which is not part of the barrier interface.
> >
> > It looks like the barrier documentation was started based on a copy of
> > the semaphore documentation and these things are surviving remnants.
> >
> > Also remove an unfinished sentence in the barrier wait description,
> > since the intended information is already provided in the under the NOTE
> > label.
> Thanks for your contribution!  I have a few minor comments:
>
> > ---
> >  c-user/barrier_manager.rst | 38 +++++++-------------------------------
> >  1 file changed, 7 insertions(+), 31 deletions(-)
> >
> > diff --git a/c-user/barrier_manager.rst b/c-user/barrier_manager.rst
> > index b0bf3bf..e5d69b0 100644
> > --- a/c-user/barrier_manager.rst
> > +++ b/c-user/barrier_manager.rst
> > @@ -324,8 +324,7 @@ NOTES:
> >
> >  .. _rtems_barrier_wait:
> >
> > -.. index:: obtain a barrier
> > -.. index:: lock a barrier
> > +.. index:: wait at a barrier
> >  .. index:: rtems_barrier_wait
> >
> >  BARRIER_WAIT - Wait at a barrier
> > @@ -356,14 +355,11 @@ DIRECTIVE STATUS CODES:
> >
> >  DESCRIPTION:
> >
> > -    This directive acquires the barrier specified by ``id``.  The
> > -    ``RTEMS_WAIT`` and ``RTEMS_NO_WAIT`` components of the options parameter
> > -    indicate whether the calling task wants to wait for the barrier to become
> > -    available or return immediately if the barrier is not currently available.
> > -    With either ``RTEMS_WAIT`` or ``RTEMS_NO_WAIT``, if the current barrier
> > -    count is positive, then it is decremented by one and the barrier is
> > -    successfully acquired by returning immediately with a successful return
> > -    code.
> > +    This directive waits at the barrier specified by ``id``.  The timeout
> > +    parameter specifies the maximum interval the calling task is willing to be
> > +    blocked waiting for the barrier.  If it is set to ``RTEMS_NO_TIMEOUT``,
> > +    then the calling task will wait forever.  If the barrier is available or
> 1. "will wait forever" -> "will wait forever if it doesn't get
> released" or something more precise, even just "may wait forever"
> 2. I'm not quite sure what "available" means in this context. Maybe
> "open" is a better word?
>
I guess "available" is the wording that has been used throughout.
Again, probably due to inheriting from the semaphore documentation. I
think "open/closed" is more precise when describing a barrier, but
available is OK if it is consistently applied.

I would still like the fix on #1, even though that was not introduced
by you just copied from elsewhere, it is good to improve it at the
same time.

> > +    the ``RTEMS_NO_WAIT`` option component is set, then timeout is ignored.
> >
> >      Conceptually, the calling task should always be thought of as blocking when
> >      it makes this call and being unblocked when the barrier is released.  If
> > @@ -372,24 +368,7 @@ DESCRIPTION:
> >      callers will block except for the one which is the Nth task which trips the
> >      automatic release condition.
> >
> > -    The timeout parameter specifies the maximum interval the calling task is
> > -    willing to be blocked waiting for the barrier.  If it is set to
> > -    ``RTEMS_NO_TIMEOUT``, then the calling task will wait forever.  If the
> > -    barrier is available or the ``RTEMS_NO_WAIT`` option component is set, then
> > -    timeout is ignored.
> > -
> >  NOTES:
> > -
> > -    The following barrier acquisition option constants are defined by RTEMS:
> > -
> > -    .. list-table::
> > -     :class: rtems-table
> > -
> > -     * - ``RTEMS_WAIT``
> > -       - task will wait for barrier (default)
> > -     * - ``RTEMS_NO_WAIT``
> > -       - task should not wait
> > -
> >      A clock tick is required to support the timeout functionality of this
> >      directive.
> >
> > @@ -399,7 +378,6 @@ NOTES:
> >
> >  .. _rtems_barrier_release:
> >
> > -.. index:: wait at a barrier
> >  .. index:: release a barrier
> >  .. index:: rtems_barrier_release
> >
> > @@ -425,9 +403,7 @@ DIRECTIVE STATUS CODES:
> >
> >  DESCRIPTION:
> >      This directive releases the barrier specified by id.  All tasks waiting at
> > -    the barrier will be unblocked.  If the running task's preemption mode is
> > -    enabled and one of the unblocked tasks has a higher priority than the
> > -    running task.
> > +    the barrier will be unblocked.
> >
> >  NOTES:
> >      The calling task may be preempted if it causes a higher priority task to be
> > --
> > 2.11.0
> >
> > _______________________________________________
> > devel mailing list
> > devel at rtems.org
> > http://lists.rtems.org/mailman/listinfo/devel


More information about the devel mailing list