Next: , Previous: H.4, Up: Annex H


H.5 Pragma Detect_Blocking

1/2
{00305AI95−00305−01} The following pragma forces an implementation to detect potentially blocking operations within a protected operation.

Syntax

2/2

{00305AI95−00305−01} The form of a pragma Detect_Blocking is as follows:

3/2

  pragma Detect_Blocking;
Post-Compilation Rules

4/2
{00305AI95−00305−01} {configuration pragma (Detect_Blocking) [partial]} {pragma, configuration (Detect_Blocking) [partial]} A pragma Detect_Blocking is a configuration pragma.

Dynamic Semantics

5/2
{00305AI95−00305−01} An implementation is required to detect a potentially blocking operation within a protected operation, and to raise Program_Error (see 9.5.1).

Implementation Permissions

6/2
{00305AI95−00305−01} An implementation is allowed to reject a compilation_unit if a potentially blocking operation is present directly within an entry_body or the body of a protected subprogram.

     NOTES

7/2

11  {00305AI95−00305−01} An operation that causes a task to be blocked within a foreign language domain is not defined to be potentially blocking, and need not be detected.
Extensions to Ada 95

7.a/2

{00305AI95−00305−01} {extensions to Ada 95} Pragma Detect_Blocking is new.