Pragma Unreserve_All_Interrupts

Syntax:

pragma Unreserve_All_Interrupts;

Normally certain interrupts are reserved to the implementation. Any attempt
to attach an interrupt causes Program_Error to be raised, as described in
RM C.3.2(22). A typical example is the SIGINT interrupt used in
many systems for a Ctrl-C interrupt. Normally this interrupt is
reserved to the implementation, so that Ctrl-C can be used to
interrupt execution.

If the pragma Unreserve_All_Interrupts appears anywhere in any unit in
a program, then all such interrupts are unreserved. This allows the
program to handle these interrupts, but disables their standard
functions. For example, if this pragma is used, then pressing
Ctrl-C will not automatically interrupt execution. However,
a program can then handle the SIGINT interrupt as it chooses.

For a full list of the interrupts handled in a specific implementation,
see the source code for the specification of Ada.Interrupts.Names in
file a-intnam.ads. This is a target dependent file that contains the
list of interrupts recognized for a given target. The documentation in
this file also specifies what interrupts are affected by the use of
the Unreserve_All_Interrupts pragma.

For a more general facility for controlling what interrupts can be
handled, see pragma Interrupt_State, which subsumes the functionality
of the Unreserve_All_Interrupts pragma.