There are several restrictions for programs that use data-in-virtual
MAP service with data shared using the IARVSERV SHARE service:
- A sharing page must reside in non-swappable storage and have a
SHAREDWRITE view mode.
- Only one member of a sharing group can be mapped. Any attempt
to map another member of the same sharing group results in a X'08B' abend.
- You cannot use the IARVSERV macro to share data mapped to a hiperspace
object.
- You cannot map a sharing page whose sharing group contains a page
that is currently a fixed or disabled reference page.
- If the owning address space of a sharing page that was mapped
by DIV MAP terminates prior to a DIV UNMAP, the data is lost. Any
further reference to the shared data results in a X'028' abend.
There are also restrictions for programs that use the data-in-virtual
UNMAP function.
If a sharing page is currently mapped, and the owner of the map
issues DIV UNMAP with RETAIN for that page, the value of RETAIN affects
all sharing group members as follows:
- For RETAIN=NO, all pages of the target become unpredictable in
content.
- For RETAIN=YES, all pages of the target get the data as it last
appeared within the sharing page. This can be useful for saving an
instance of data, such as a check point. Use of RETAIN=YES can affect
performance if it consumes large amounts of central storage by repeated
retaining of the storage.