Compare commits

...

3 Commits

Author SHA1 Message Date
3266c66fc4 updated fserv to fit the new (and next) service system 2020-06-06 12:55:02 +10:00
3fed8a5985 fixed fs.copy
oops
2020-06-06 12:54:10 +10:00
f132c2349f made pkgfs auto-mount when loaded 2020-06-06 12:50:50 +10:00
3 changed files with 26 additions and 9 deletions

View File

@ -111,4 +111,6 @@ function pkgfs.add(fname,comp) -- string boolean -- -- Add a package as specifie
f:close() f:close()
end end
fs.makeDirectory("/pkg")
fs.mount("/pkg",pkgfs.component)
return pkgfs return pkgfs

View File

@ -68,7 +68,11 @@ function fs.copy(from,to) -- string string -- boolean -- copies a file from *fro
if not of or not df then if not of or not df then
return false return false
end end
df:write(of:read("*a")) local tmp
repeat
tmp = of:read(2048)
df:write(tmp or "")
until not tmp
df:close() df:close()
of:close() of:close()
return true return true

View File

@ -3,13 +3,15 @@ local serial = require "serialization"
local cfg = {["path"]="/boot/srv/frequest",["port"]=70} local cfg = {["path"]="/boot/srv/frequest",["port"]=70}
f=io.open("/boot/cfg/fserv.cfg","rb") local function loadConfig(cfgpath)
if f then local f=io.open(cfgpath or "/boot/cfg/fserv.cfg","rb")
if f then
local ncfg = serial.unserialize(f:read("*a")) local ncfg = serial.unserialize(f:read("*a"))
f:close() f:close()
for k,v in pairs(ncfg) do for k,v in pairs(ncfg) do
cfg[k] = v cfg[k] = v
end end
end
end end
local function fileHandler(socket,rtype,path) local function fileHandler(socket,rtype,path)
@ -90,6 +92,15 @@ local function socketHandler(socket)
end end
end end
while true do local function fileServer()
while true do
os.spawn(socketHandler(minitel.listen(70)),"fserv worker process") os.spawn(socketHandler(minitel.listen(70)),"fserv worker process")
end
end end
function start(cfgpath)
loadConfig(cfgpath)
return os.spawn(fileServer,"fserv")
end
return {start=start}