ブレーク文字
ネットワークのために、ブレーク文字を扱う標準的な方法を確立し、プロトコルに含める必要がある。ブレーク文字の問題はいくつかの状況で生じる。第一に、ブレーク文字には 2 つの異なる用途がある。1 つはパニックボタンとしての用途である。これは「今何が起きていようと構わない、直ちに停止してモニタレベルに戻せ」という意味である。このコマンドは受信すると直ちに実行され、入りたくないプログラム(たとえば無限ループに陥ったものなど)から抜け出すためによく使われる。
もう 1 つの用途は、サブシステムからの脱出、または fork 構造を持つマシンで 1 つ上のレベルの fork に戻る方法としてのものである。この第 2 の用途は即時的なものではない。ユーザーは、指示したすべてをシステムに終わらせてから終了したいからである。
すべてのシステムに 1) これらの各機能を実行する方法、または 2) 両者の呼び出しと操作の明確な区別が存在するわけではないと我々は考える。さらに、各システムがコマンドを扱う方法には微妙な違いがある。
パニックボタン機能は、提案された制御コマンド <INT> で容易に実現できる。この機能は制御コマンドを使って達成されなければならない。プログラムは入力を一切受け付けない状態に入ることがあり、したがってテレタイプのリンクでメッセージを送ってもそのプログラムを中断できないからである。このコマンドを制御リンクで送ることで生じる競合状態を心配する必要はない。その目的は、ユーザーが送った他のすべてをマシンに無視させることだけだからである。
我々の実装では、ユーザーに対し、自分の外部パニックボタンにしたいめったに使わない文字をロガーに指定してもらう。そうすれば、送信側がこの文字を <INT> コマンドにマッピングするのは簡単な作業であり、外部マシンはそれを正しく解釈しなければならない。この方式はほとんどのマシンでうまく機能するが、<INT> の生成方法が異なるほうが適したマシンもあるかもしれない。
もう 1 つの問題は、外部マシンの「exit」文字がローカルマシンのものと同じ場合にどうするかである。問題は、ユーザーが外部マシンと対話している間は透過モードにあり、入力したすべてが相手マシンに直接送られることを望む点にある。このモードから抜け出すには、自分のマシンの「exit」文字かパニックボタンを入力する。したがって、外部マシンが同じものを持っていると、それを送る方法がなくなる。解決策は上記と同じであり、めったに使わない別の文字を外部マシンの「exit」文字にマッピングするだけである。この種のマッピングは、各設置環境が必要と考える範囲まで拡張できる。翻訳をユーザーが完全に制御できることは、自分のテレタイプでは生成できない文字を使えるという点で有用である。