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 |
Notes:
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.
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.
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.