H.5 Pragma Detect_Blocking
{
AI95-00305-01}
{
AI12-0267-1}
The following
pragma
requires forces
an implementation to detect potentially blocking operations
during
the execution of within 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 within
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 9.5.1).
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, or the body of a protected subprogram
, or
a parallel construct occurring within the compilation unit.
11 {
AI95-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
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