fixed a heisenbug and reset openos

This commit is contained in:
2026-04-29 23:21:28 +03:00
parent 01fb18b538
commit 871a7d4e17
4 changed files with 5 additions and 4 deletions

View File

@@ -7,3 +7,4 @@ require("event").listen("init", function()
dofile(require("shell").resolve("rc", "lua")) dofile(require("shell").resolve("rc", "lua"))
return false return false
end) end)

View File

@@ -16,7 +16,7 @@ Most blocks act as 'cables' - use relays and power distributors to create separa
Welcome to the dark side - here, have some cookies. Welcome to the dark side - here, have some cookies.
Screens can display Unicode - paste the special chars or use unicode.char. Screens can display Unicode - paste the special chars or use unicode.char.
Run `help` or `man programname` for ingame help on programs shipped with OpenOS - start with `man man`. Run `help` or `man programname` for ingame help on programs shipped with OpenOS - start with `man man`.
For more help, there's a wiki at http://ocdoc.cil.li/ - or find the IRC loot disk and join #oc. For more help, there's a wiki at https://ocdoc.cil.li/ - or find the IRC loot disk and join #oc.
Computers have a very basic, built-in speaker - control it using computer.beep(). Computers have a very basic, built-in speaker - control it using computer.beep().
Many component methods have a short documentation - use `=component.componentName.methodName` in the Lua interpreter to see it. Many component methods have a short documentation - use `=component.componentName.methodName` in the Lua interpreter to see it.
You can get a list of all attached components using the `components` program. You can get a list of all attached components using the `components` program.

View File

@@ -7,7 +7,7 @@
os.exit = nil os.exit = nil
os.execute = nil os.execute = nil
local sysyieldobj = {} local sysyieldobj = "__SYSYIELD__"
local coroutine = coroutine local coroutine = coroutine
local function sysyield() local function sysyield()
@@ -88,7 +88,7 @@ function component.invoke(address, method, ...)
else else
-- must sync -- must sync
syncedMethodStats = {address, method, ...} syncedMethodStats = {address, method, ...}
coroutine.yield() sysyield()
local rets = syncedMethodStats local rets = syncedMethodStats
syncedMethodStats = nil syncedMethodStats = nil
return table.unpack(rets) return table.unpack(rets)

View File

@@ -484,7 +484,7 @@ int main(int argc, char **argv) {
nn_mountComponent(c, eepromCard, 0, false); nn_mountComponent(c, eepromCard, 0, false);
nn_mountComponent(c, managedfs, 1, false); nn_mountComponent(c, managedfs, 1, false);
nn_mountComponent(c, gpuCard, 2, false); nn_mountComponent(c, gpuCard, 2, false);
nn_mountComponent(c, testingfs, 3, false); //nn_mountComponent(c, testingfs, 3, false);
nn_mountComponent(c, testDrive, 4, false); nn_mountComponent(c, testDrive, 4, false);
nn_mountComponent(c, testFlash, 5, false); nn_mountComponent(c, testFlash, 5, false);
while(true) { while(true) {