The function
start-tty-listener
returns a process that runs a listener read-eval-print loop connected to
*terminal-io*
.
If
force
is
nil
, then
start-tty-listener
checks if the default listener process is alive or if there is a live process with name "TTY Listener". If such a process exists,
start-tty-listener
simply returns
nil
and does not start a new process. If no such process exists, or if
force
was
t
, then
start-tty-listener
starts a new listener process named "TTY Listener", and returns it.
If a REPL with I/O through
*terminal-io*
(such as a REPL started by
start-tty-listener
) is in the debugger, then by default it blocks multiprocessing. This behavior is controlled by the value of *terminal-debugger-block-multiprocessing*.