D.14.3 Execution Time of Interrupt Handlers
1/3
This clause describes a language-defined package
to measure the execution time of interrupt handlers.
Static Semantics
2/3
The following language-defined
library package exists:
3/3
with Ada.Interrupts;
package Ada.Execution_Time.Interrupts
is
function Clock (Interrupt : Ada.Interrupts.Interrupt_Id)
return CPU_Time;
function Supported (Interrupt : Ada.Interrupts.Interrupt_Id)
return Boolean;
end Ada.Execution_Time.Interrupts;
4/3
The execution time or CPU time of a given interrupt
Interrupt is defined as the time spent by the system executing interrupt
handlers identified by Interrupt, including the time spent executing
run-time or system services on its behalf. The mechanism used to measure
execution time is implementation defined. Time spent executing interrupt
handlers is distinct from time spent executing any task.
5/3
For each interrupt, the execution time value is initially
set to zero.
Dynamic Semantics
6/3
The function Clock returns the current cumulative
execution time of the interrupt identified by Interrupt. If Separate_Interrupt_Clocks_Supported
is set to False the function raises Program_Error.
7/3
The function Supported returns True if the implementation
is monitoring the execution time of the interrupt identified by Interrupt;
otherwise, it returns False. For any Interrupt_Id Interrupt for which
Supported(Interrupt) returns False, the function Clock(Interrupt) will
return a value equal to Ada.Execution_Time.Time_Of(0).
Ada 2005 and 2012 Editions sponsored in part by Ada-Europe