Overview of Ada 2022
Jeff Cousins
Contents   Index   Search   Previous   Next 

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 Detect_Blocking 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.

Contents   Index   Search   Previous   Next 
© 2021, 2022 Jeff Cousins