Overview of Ada 2022
6.1 Specifying Nonblocking
This is covered in the Parallelism section (see 2.3
as the driving reason for adding it was safe parallelism, but it is more
generally useful, for timing analysis or deadlock avoidance, for example,
or simply documenting behaviour that some coding standards would ask
for in a comment.
Blocking was already disallowed for protected types,
but that wasn't detected so bounded errors were possible. Applying pragma
causes a run-time check, but this has a performance
overhead, whereas applying aspect Nonblocking
to a protected type declaration causes a check at compile-time.
© 2021, 2022 Jeff Cousins