The test fails because it creates an executable program dl which, on HP-UX, gets created with the MGAS segmented memory model, but the COBOL product uses the MPAS flat memory model.
Not all memory models can access shared memory created by different memory models, as shown in the table below.
Process type accessing shared memory | Process type creating shared memory | |||
---|---|---|---|---|
64-bit MPAS | 64-bit MGAS | 32-bit MPAS | 32-bit MGAS | |
64 bit MPAS | Y | Y | Y | Y |
64 bit MGAS | Y | Y | Y | Y |
32 bit MPAS | Y | Y | Y | Y |
32 bit MGAS | N | Y | Y | Y |
The runtime uses shared memory to access licenses from the ASLM license manager. If the shared memory does not exist the runtime will create it. If the first program run is COBOL 64-bit it will create a shared memory block as a 64-bit MPAS process, and if a 32-bit MGAS program invokes COBOL and tries to get a license the "ASLM Errno 1022" error is reported.