2.101 Pragma Lock_Free ¶
Syntax:
This pragma may be specified for protected types or objects. It specifies that
the implementation of protected operations must be implemented without locks.
Compilation fails if the compiler cannot generate lock-free code for the
operations.
The current conditions required to support this pragma are:
- Protected type declarations may not contain entries
- Protected subprogram declarations may not have nonelementary parameters
In addition, each protected subprogram body must satisfy:
- May reference only one protected component
- May not reference nonconstant entities outside the protected subprogram
scope.
- May not contain address representation items, allocators, or quantified
expressions.
- May not contain delay, goto, loop, or procedure-call statements.
- May not contain exported and imported entities
- May not dereferenced access values
- Function calls and attribute references must be static