ASAP 2.7 Extension Manual

Implementing the ASAP Extension in an Application
HP NonStop ASAP Extension Manual425265-004
4-14
Disable Statistics Processing
for the domain was corrupted. In addition to the checksum, boundary tags are used to
segment each memory area to protect from moves across structure boundaries. The
checksum procedure performs tag validation during each invocation and returns the –4
error if boundary tags are corrupted.
If an application receives error –4 when attempting to update a DataItem, it should
automatically call the removal procedure to remove the domain registration, then call
the registration procedure to reregister the domain. A new memory slot is allocated,
and the problem should not reappear.
If applications consistently write on the shared memory segment outside their allocated
space, the only option to clean up the shared segments is to stop all ASAP Extension
processing and delete the shared memory segments. Application processes then need
to reregister all domains once ASAP Extension processing restarts.
Disable Statistics Processing
When a DISABLE STATS command is issued through ASAPX, the update procedure
returns error –6 to all callers. When an application receives error –6, it should cease
calling the update procedure for a predefined time period, such as 15 minutes, then
remove, reregister, and resume updating. This allows operations control statistics
processing at the application level.
ASAP_UPDATE_ Procedure
Use the ASAP_UPDATE_ procedure to update a DataItem within a domain.
error
INT
returns one of these values indicating the outcome of the update call:
error := ASAP_UPDATE_ ( seg^offset !i
[,error^detail] !o
,data^item !i
,value !i
[,math] !I
)
Value Definition
0 No error; the update was successful.
–1 The calling process is not named.
–2 Parameter missing or in error. Error^detail contains the parameter number.
–3 File-system error. Error^detail contains the file-system error number.
–4 Checksum error. Shared memory has been corrupted.
–5 This domain was not found in the memory location specified by seg^offset.