- (1)
- 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.
- (2)
- The form of a pragma Asynchronous is as follows:
(3)
pragma Asynchronous(local_name);
Legality Rules
- (4)
- The local_name of a pragma Asynchronous shall denote either:
- (5)
- One or more remote procedures; the formal parameters of the
procedure(s) shall all be of mode in;
- (6)
- 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;
- (7)
- The first subtype of a remote access-to-class-wide type.
Static Semantics
- (8)
- A pragma Asynchronous is a representation pragma. When applied to a
type, it specifies the type-related asynchronous aspect of the type.
Dynamic Semantics
- (9)
- 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
- (10)
- Asynchronous remote procedure calls shall be implemented such that the
corresponding body executes at most once as a result of the call.
-- Email comments, additions, corrections, gripes, kudos, etc. to:
Magnus Kempe -- Magnus.Kempe@di.epfl.ch
Copyright statement
Page last generated: 95-03-12