H.5 Pragma Detect_Blocking
{
AI95-00305-01}
{
AI12-0267-1}
The following
pragma
requires an implementation to detect potentially blocking operations
during the execution of a protected operation or a parallel construct.
Syntax
Post-Compilation Rules
Dynamic Semantics
{
AI95-00305-01}
{
AI12-0247-1}
{
AI12-0267-1}
An implementation is required to detect a potentially blocking operation
that occurs during the execution of a protected operation or a parallel
construct defined within a compilation unit to which the pragma applies,
and to raise
Program_Error (see
9.5).
Implementation Permissions
{
AI95-00305-01}
{
AI12-0267-1}
An implementation is allowed to reject a
compilation_unit
to which a pragma Detect_Blocking applies if a potentially blocking operation
is present directly within an
entry_body,
the body of a protected subprogram, or a parallel construct occurring
within the compilation unit.
NOTE {
AI95-00305-01}
{
AI12-0442-1}
An operation that causes a task to be blocked within a foreign language
domain is not defined to be potentially blocking, and is unlikely to
be detected.
Extensions to Ada 95
Extensions to Ada 2012
{
AI12-0267-1}
Pragma Detect_Blocking now applies to parallel constructs
as well as protected actions.
Ada 2005 and 2012 Editions sponsored in part by Ada-Europe