1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-03 22:35:43 +02:00
cdt/terminal/plugins/org.eclipse.tm.terminal.control
Jonah Graham 327026010b Bug 573110: Emulator can spin if Reader is ready but not available
The implementation of the read loop in the emulator can spin because
it uses Reader.ready() to determine if there is more data to read.

However the Reader contract does not specify that ready() means
that read() will return a character, simply it means that read()
won't block. As such, if a Reader won't block, but it has no
characters, the inner read loop will spin constantly polling.

The outer loop uses polling too - but it has a wait so that the
CPU does not hit 100% and yields.

Change-Id: Id9b2426c65e6c2a2c3ae817a78d2be435e568c1f
2021-04-23 21:24:45 -04:00
..
.settings Bug 566511: [releng] Add missing UTF-8 encoding for all CDT projects 2020-08-30 20:02:41 -04:00
icons Move terminal files into subfolder 2018-08-28 12:54:02 -04:00
META-INF Bug 563015: terminal: open files/links with ctrl-click 2021-04-12 16:04:07 -04:00
schema Bug 538094 - update to EPL 2.0 (leave EDL 1.0 unchanged) 2018-11-01 12:21:58 -04:00
src/org/eclipse/tm Bug 573110: Emulator can spin if Reader is ready but not available 2021-04-23 21:24:45 -04:00
.classpath Bug 562494: Update BREE to Java 11 2020-08-24 17:50:56 -04:00
.gitignore Move terminal files into subfolder 2018-08-28 12:54:02 -04:00
.options Bug 563015: terminal: open files/links with ctrl-click 2021-04-12 16:04:07 -04:00
.project Move terminal files into subfolder 2018-08-28 12:54:02 -04:00
about.html Bug 551817: Fix legal docs - and automate their checks 2020-08-30 23:15:59 -04:00
about.ini Bug 559474: Normalize features to match requirements of CDT 2020-01-31 12:20:41 -05:00
about.mappings Bug 559474: Normalize features to match requirements of CDT 2020-01-31 12:20:41 -05:00
about.properties Bug 570588: Some Private CSI sequences are not correctly interpreted 2021-01-23 15:19:54 -05:00
build.properties Bug 549697: Define standard terminal colors with Eclipse preferences 2020-08-03 17:28:59 -04:00
cdt_logo_icon32.png Bug 559474: Normalize features to match requirements of CDT 2020-01-31 12:20:41 -05:00
HelpContexts.xml Bug 538094 - update to EPL 2.0 (leave EDL 1.0 unchanged) 2018-11-01 12:21:58 -04:00
plugin.properties Bug 549697: Define standard terminal colors with Eclipse preferences 2020-08-03 17:28:59 -04:00
plugin.xml Bug 549697: Define standard terminal colors with Eclipse preferences 2020-08-03 17:28:59 -04:00
README.txt Move terminal files into subfolder 2018-08-28 12:54:02 -04:00

Terminal README
===============

The Terminal is a UI-less model of a grid of characters,
plus an SWT widget that's updated asynchronously for 
maximum performance. The widget can be hooked up to various
ITerminalConnectors providing an InputStream, OutputStream,
and a method for setting the Terminal Size.

The widget processes ANSI control characters, including NUL,
backspace, carriage return, linefeed, and a subset of ANSI
escape sequences sufficient to allow use of screen-oriented
applications, such as vi, Emacs, and any GNU readline-enabled
application (Bash, bc, ncftp, etc.).

This is not yet a fully compliant vt100 / vt102 terminal 
emulator!