15.2 System Services
15.2.1 Enhanced Services
The following system services have been enhanced to rec-
ognize the new shared memory global section flag
SEC$M_SHMGS:
* SYS$CRMPSC_GDZRO_64
* SYS$CREATE_GDZRO
* SYS$MGBLSC_64
* SYS$DGBLSC
The following system services were enhanced to work with
shared memory but no interfaces were changed:
* SYS$DELTVA
* SYS$DELTVA_64
* SYS$CREATE_BUFOBJ
* SYS$CREATE_BUFOBJ_64
* SYS$DELETE_BUFOBJ
15.2.2 New Section Flag SEC$M_READ_ONLY_SHPT
The new section flag SEC$M_READ_ONLY_SHPT is rec-
ognized by the SYS$CREATE_GDZRO and SYS$CRMPSC_
GDZRO_64 services. When this bit is set, it directs the system
to create shared page tables for the section that allow only
read access. This feature is particularly useful in an envi-
ronment where a memory resident or Galaxy shared section
is used by many readers but only a single writer.
When you map a Galaxy shared or memory resident section
that has an associated shared page table section, you have the
following options:
Desired
ac-
Shared page tables cess
READ ONLY: READ
AND
/OR
WRITE:
none created Do not set the SEC$M_WRT Set the
flag in the map request. SEC$M_
Private page tables will al- WRT
flag
ways be used, even if you arein the
specifying a shared page ta- map
ble region into which to map re-
the section. quest.
Private
page
tables
will
always
be
used,
even
if you
are
speci-
fying a
shared
page
table
region
into
which
to map
the
sec-
tion.
write access Do not set the SEC$M_WRT Set the
flag in the map request. SEC$M_
WRT
Ensure that private page flag
tables will be used. Do not in the
specify a shared page table
region into which to map the map
section. If you do, the errore-
quest.
status SS$_IVSECFLG is
returned. The
shared
page
table
section
will be
used
for
map-
ping
if you
spec-
ify a
shared
page
table
region
into
which
to map
the
sec-
tion.
read access Do not set the SEC$M_WRT Set the
flag in the map request. TheSEC$M_
shared page table section wilWRT
be used for mapping if you flag
specify a shared page table in the
region into which to map the map
section. re-
quest.
Ensure
that
private
page
tables
will be
used.
Do not
spec-
ify a
shared
page
table
region
into
which
to map
the
sec-
tion.
If you
do the
error
status
SS$_
IVSECFLG
is re-
turned.
Notes
Shared page tables for Galaxy shared sections are also
implemented as Galaxy shared sections. This im-
plies that they allow either read access only on all
OpenVMS instances connected to this section or they
allow read/write access on all instances. The setting of
the SEC$M_READ_ONLY_SHPT flag as requested
by the first instance to create the section is used on all
instances.
Using the SYS$CRMPSC_GDZRO_64 service always
implies that the SEC$M_WRT flag is set and that
you want to map the section for writing. If you want
to use this service to create a section with shared page
tables for read only access, you must use private page
tables and you cannot specify a shared page table
region into which to map the section.