A call to FCONTROL with a controlcode
value of 14 or 15 determines whether or not a terminal will react
to a system break request. Use 14 to disable system break, 15 to
enable system break.
System break is enabled by default for any terminal on which
a session is active. Any time a user presses the [Break]
key (or the CAUSEBREAK intrinsic is called), MPE/iX will attempt
to interrupt processing and place the terminal at the Command Interpreter
level (: prompt). Many MPE/iX commands are breakable, as
are program commands that invoke subsystems or run user programs.
When system break is enabled and a system break is received,
EOR, read timer, terminal mode and echo values are saved by the
DTS software, so that they can be restored when normal processing
is resumed. If system break is entered during processing of a character
mode read or write, data is lost. Any read that is interrupted by
a break will be reissued by the system after a Resume command is
typed.
Some application programs change the settings of terminals
and/or the characteristics of their devicefiles. In such cases it
may be undesirable to allow system break processing to occur. For
example, you should disable system break when using block mode.
Doing so will prevent data loss or corruption that could occur should
the [Break] key be pressed during a block mode
read. It also avoids problems that can occur because your program
is unable to return the device to normal operating mode if system
break is entered.
Use FCONTROL(14) to disable the system break function before
your program enters block mode. Call FCONTROL(15) to reenable system
break when block mode processing is completed.
If the [Break] key is pressed while system
break is disabled no action is taken by any level of software. System
break has no effect on a device with no active session.