Pragma Abort_Defer (GNAT Reference Manual)

### 2.1 Pragma Abort_Defer ¶

Syntax:

    pragma Abort_Defer;

This pragma must appear at the start of the statement sequence of a handled sequence of statements (right after the `begin`). It has the effect of deferring aborts for the sequence of statements (but not for the declarations or handlers, if any, associated with this statement sequence). This can also be useful for adding a polling point in Ada code, where asynchronous abort of tasks is checked when leaving the statement sequence, and is lighter than, for example, using `delay 0.0;`, since with zero-cost exception handling, propagating exceptions (implicitly used to implement task abort) cannot be done reliably in an asynchronous way.

An example of usage would be:

    --  Add a polling point to check for task aborts

    begin
       pragma Abort_Defer;
    end;