Next: , Previous: D.8, Up: Annex D


D.9 Delay Accuracy

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

Dynamic Semantics

2
The effect of the delay_statement for Real_Time.Time is defined in terms of Real_Time.Clock:

3

4

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

Documentation Requirements

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.

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.

Metrics

9
The implementation shall document the following metrics:

10

11

12

13

     NOTES

14/2

This paragraph was deleted.