This is a suggestion on how and why to rework OC's sysyield timeouts. The required fixes basically give ability to implement preemptive multitasking for free.
1. Current implementation of sysyield timeouts is insufficient
Currently, it is not a real protection against executor thread hogging. It is only a safeguard, and a very efficient one.
Consider the following code:
local function dos()
while true do
end
end
while true do
pcall(coroutine.resume, coroutine.create(dos))
computer.pullSignal(0)
end
Flash it onto a EEPROM, and throw that into a bare T1 case with j