Communicator e3000 MPE/iX Release 7.0 Express 1 (Software Release C.70.01) (30216-90328)
92 Chapter5
Technical Articles
BIGPIN Feature: Support Up To 12000 Concurrent Processes.
allowed MAXPIN equal to the maximum MAXPIN value for that release. On 6.5,
maximum MAXPIN was 8190.
HPMAXPIN VARIABLE
A new system variable, HPMAXPIN, has been defined in Release 7.0. HPMAXPIN will
return the maximum number of concurrent processes supported on any given system.
HPMAXPIN is a standard, pre-defined integer, read-only CI variable.
Example 5-3. HPMAXPIN VARIABLE
:help hpmaxpin
HPMAXPIN The maximum number of concurrent processes supported on this
system.
Type= Read-only, Integer
:showvar hpmaxpin
HPMAXPIN = 1000
FIVE DIGIT PIN NUMBERS
Starting with MPE/iX Release 7.0, developers should ensure that their software is capable
of handling PIN numbers greater than 8190. Once we support greater than 8190
processes, we will also be supporting > 9999. This means that PINs will require more than
4 ASCII digits to be represented in decimal. Third-party software developers and
customers are encouraged to examine their software to ensure it is capable of handling
5-digit PIN numbers.
There are a variety of ways that code can be affected by the change from 4- to 5-digit PINs.
An obvious example is code that displays PIN number, but does not reserve enough room
for 5-digits. A subtler example is code that uses the PIN to construct a unique temporary
file name. If that code appends a 5-digit PIN to a "prefix" that is 4 digits, the size of the file
name will overflow the 8 character limit (for MPE filenames).
There are two MPE/iX CI commands that assume 4-digit PIN numbers in their command
output. The two commands are :SHOWQ and :SHOWPROC. The MPE/iX development
team worked with a set of key third-party software developers to determine the "best" way
to change :SHOWQ and :SHOWPROC to accommodate 5-digit PIN numbers. In deciding
the "best" approach, we had to evaluate two (somewhat) mutually exclusive objectives:
• Backward compatibility. Minimal (or ideally zero) impact to existing programs and
scripts that may parse output from :SHOWQ and/or :SHOWPROC.
• Human readability. Making the output as easy to read as possible, on a terminal, by an
end-user.
In the end we weighted the backward compatibility constraint higher, and selected the
approach that minimized the risk of introducing compatibility issues. This resulted in
slightly different approaches for the :SHOWQ command as opposed to the :SHOWPROC
command.