Go to the first, previous, next, last section, table of contents.
-
This subclause introduces the pragma Asynchronous which allows a remote
subprogram call to return prior to completion of the execution of the
corresponding remote subprogram body.
Syntax
-
The form of a pragma Asynchronous is as follows:
-
pragma Asynchronous(local_name);
Legality Rules
-
The local_name of a pragma Asynchronous shall denote either:
-
One or more remote procedures; the formal parameters of the procedure(s)
shall all be of mode in;
-
The first subtype of a remote access-to-procedure type; the formal
parameters of the designated profile of the type shall all be of mode
in;
-
The first subtype of a remote access-to-class-wide type.
Static Semantics
-
A pragma Asynchronous is a representation pragma. When applied to a
type, it specifies the type-related asynchronous aspect of the type.
Dynamic Semantics
-
A remote call is asynchronous if it is a call to a procedure, or a call
through a value of an access-to-procedure type, to which a pragma
Asynchronous applies. In addition, if a pragma Asynchronous applies to a
remote access-to-class-wide type, then a dispatching call on a procedure
with a controlling operand designated by a value of the type is
asynchronous if the formal parameters of the procedure are all of mode
in.
Implementation Requirements
-
Asynchronous remote procedure calls shall be implemented such that the
corresponding body executes at most once as a result of the call.
Go to the first, previous, next, last section, table of contents.