Browse Source

made init actually work, whoops

pull/1/head
XeonSquared 4 years ago
parent
commit
d90ce84cdb
1 changed files with 33 additions and 1 deletions
  1. +33
    -1
      module/init.lua

+ 33
- 1
module/init.lua View File

@@ -8,6 +8,38 @@
--#include "module/devfs/syslog.lua"
--#include "module/loadfile.lua"
--#include "module/vt-task.lua"
os.spawnfile("/boot/exec/init.lua")

os.spawn(function()
os.setenv("PWD","/boot")
io.input("/dev/null")
io.output("/dev/syslog")
local f = io.open("/boot/cfg/hostname","rb")
local hostname = computer.address():sub(1,8)
if f then
hostname = f:read("*l")
f:close()
end
os.setenv("HOSTNAME",hostname)
syslog(string.format("Hostname set to %s",hostname))
local pids = {}
local function loadlist()
local f = io.open("/boot/cfg/init.txt","rb")
if not f then return false end
for line in f:read("*a"):gmatch("[^\r\n]+") do
pids[line] = -1
end
f:close()
end
loadlist()
while true do
for k,v in pairs(pids) do
if not os.taskInfo(v) then
syslog("Starting service "..k)
pids[k] = os.spawnfile("/boot/service/"..k)
end
end
coroutine.yield()
end
end, "init")

os.sched()

Loading…
Cancel
Save