This Natural profile parameter only applies under Com-plete and CICS.
It specifies the number of CMROLL
calls after which a
Natural session is suspended, that is, a potential roll-out of the Natural
thread is to be performed.
Possible settings | 1 - 32767 |
Number of CMROLL calls.
|
---|---|---|
0 |
MAXROLL=0 indicates that no conditional
CMROLL requests are issued.
|
|
Default setting | 128 |
|
Dynamic specification | yes | |
Specification within session | no |
The MAXROLL
parameter can be used to control the
frequency of conditional CMROLL
requests. For example,
MAXROLL=128
means that a conditional CMROLL
request
is issued after every 128th statement at compilation.
In certain cases, the Natural nucleus issues a conditional
CMROLL
request (wait time = 0), particularly at compilation after
each statement. This is done to reset the CPU time window (under Com-plete) in
order to avoid an automatic cancel due to the CPU time limit being exceeded;
however, this has a negative impact on performance.
Calling CMROLL
is the Natural interface for
WAIT
or DELAY
functionality (see also sample Natural
program SUSPEND
in library SYSEXTP
); when calling
CMROLL
, you may pass a delay interval/wait time as parameter. When
a session has to wait in CMROLL
, shared resources as a thread in
Com-plete or a shared thread in CICS
(THREADS=nonzero
) are released, and as
a consequence a potential roll-out of the Natural thread is performed. Calling
CMROLL
with a delay interval of 0 is called conditional, as the
session actually needs not wait for a certain time; however, when other
sessions are waiting for a thread, the session is suspended, which may result
in a roll-out of the Natural thread. In CICS if no other session is waiting,
just an EXEC CICS SUSPEND
is executed to prevent
AICA abends.