1
[This clause specifies performance requirements for the delay_statement. The rules apply both to delay_relative_statement (see 9.6) and to delay_until_statement (see 9.6). Similarly, they apply equally to a simple delay_statement (see 9.6) and to one which appears in a delay_alternative (see 9.7.1).]
2
The effect of the delay_statement for Real_Time.Time is defined in terms of Real_Time.Clock:
3
4
5
{potentially blocking operation (delay_statement) [partial]} {blocking, potentially (delay_statement) [partial]} A simple delay_statement with a negative or zero value for the expiration time does not cause the calling task to be blocked; it is nevertheless a potentially blocking operation (see 9.5.1).
6/2
When a delay_statement appears in a delay_alternative of a timed_entry_call the selection of the entry call is attempted, regardless of the specified expiration time. When a delay_statement appears in a select_alternative, and a call is queued on one of the open entries, the selection of that entry call proceeds, regardless of the value of the delay expression.
6.a
Ramification: The effect of these requirements is that one has to always attempt a rendezvous, regardless of the value of the delay expression. This can be tested by issuing a timed_entry_call with an expiration time of zero, to an open entry.
7
The implementation shall document the minimum value of the delay expression of a delay_relative_statement that causes the task to actually be blocked.
7.a/2
Documentation Requirement: The minimum value of the delay expression of a delay_relative_statement that causes a task to actually be blocked.
8
The implementation shall document the minimum difference between the value of the delay expression of a delay_until_statement and the value of Real_Time.Clock, that causes the task to actually be blocked.
8.a/2
This paragraph was deleted.
8.b/2
Documentation Requirement: The minimum difference between the value of the delay expression of a delay_until_statement and the value of Real_Time.Clock, that causes the task to actually be blocked.
9
The implementation shall document the following metrics:
10
11
12
13
13.a/2
Documentation Requirement: The metrics for delay statements.
NOTES
14/2
This paragraph was deleted.{00355AI95−00355−01}
14.a
The rules regarding a timed_entry_call with a very small positive Duration value, have been tightened to always require the check whether the rendezvous is immediately possible.
14.b/2
{00355AI95−00355−01} The note about "voluntary round−robin', while still true, has been deleted as potentially confusing as it is describing a different kind of round−robin than is defined by the round−robin dispatching policy.