[PATCH] c-user: Clarify object services

Sebastian Huber sebastian.huber at embedded-brains.de
Tue Feb 2 19:19:22 UTC 2021


On 02/02/2021 16:56, Gedare Bloom wrote:

>
>
> On Tue, Feb 2, 2021 at 8:42 AM Sebastian Huber 
> <sebastian.huber at embedded-brains.de 
> <mailto:sebastian.huber at embedded-brains.de>> wrote:
>
>     On 02/02/2021 16:37, Gedare Bloom wrote:
>
>     >     -.. rubric:: NOTES:
>     >     +.. rubric:: CONSTRAINTS:
>     >
>     >     -This directive is strictly local and does not impact task
>     scheduling.
>     >
>     >
>     > I may have missed the discussion, but this note is being removed
>     > without being added elsewhere.
>     >
>     > Is it implied that all functions are local and do not impact task
>     > scheduling, unless otherwise constrained?
>     No, I replaced the above with below:
>     >
>     >     +The following constraints apply to this directive:
>     >     +
>     >     +* The directive is implemented by a macro and may be called
>     from
>     >     within C/C++
>     >     +  constant expressions.  In addition, a function implementation
>     >     of the
>     >     +  directive exists for bindings to other programming languages.
>     >
>     I could also add this:
>
>     * The directive will not cause the calling task to be preempted.
>
> I think that will help for clarity, perhaps. It is good to know which 
> rtems_ services can/cannot preempt
Ok, I will try to add at least one context and at least one preemption 
constraint to each directive.
>
>      From my point of view it was clear that something which "may be
>     called
>     from within C/C++ constant expressions" cannot impact task scheduling.
>
>
> may is not must. If you call it from a non-constant expression it 
> still will not preempt.
>
> Also, I think it is a bit odd to say "called from within" a constant. 
> maybe "used from within" is better? You don't actually make a call 
> when it is constant.
I would keep the "called from within". It is called by the compiler and 
not the processor. In C++ you nowadays have a lot of constexpr functions 
(or templates).

-- 
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.huber at embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/



More information about the devel mailing list