Contents   Index   Search   Previous   Next
 E.4.1 Pragma Asynchronous
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. 
Syntax
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. 
Contents   Index   Search   Previous   Next   Legal