Screen is cleaned when runcbl finishes its job

0 Likes

Problem:

When ACUCOBOL-GT runtime finishes its job on a Linux/UNIX box, the displayed area is cleaned and the latest input-output data are removed from the monitor.

Old runtimes used to keep these data in sight, even after the STOP RUN was executed.

Resolution:

This behavior changed in release 7.0.0 to fix a leak in earlier runtimes.

After this fix was introduced, when runcbl shuts down it destroys all the canvases associated with the COBOL program.
It does this in order to correctly manage the related memory.
When a canvas is destroyed, that canvas is erased.

If the COBOL program just uses ANSI style ACCEPT and DISPLAY (and treating the terminal like a teletypewriter), then doing the work to not initialize the terminal manager will solve the problem.
That means compiling with -Ca, running with -b and not using ACUCOBOL-GT extensions to the DISPLAY verb.
Note that positioning information is considered an ACU extension, so the previous workaround will not work.

i.e.: this line is ANSI style:
DISPLAY "Hallo World."

This line is not, while it uses ACUCOBOL-GT extensions:
DISPLAY "Hallo World." AT LINE 10 COL 1.

If the source code contains non-ANSI ACCEPT and DISPLAY and cannot be modified, a configuration variable can be used:

SHUTDOWN-DESTROYS-GUI FALSE

Set in the /etc/cblconfig file, it will tell the runtime to not destroy the screen when the runtime shuts down.

Support Incident number: 2795276

Comment List
Related
Recommended