Преглед изворни кода

improved the rc lib, assuming the start function returns a pid

pull/1/head
XeonSquared пре 4 година
родитељ
комит
1c252126e8
1 измењених фајлова са 10 додато и 1 уклоњено
  1. +10
    -1
      lib/rc.lua

+ 10
- 1
lib/rc.lua Прегледај датотеку

@@ -1,6 +1,7 @@
local serial = require "serialization"

local rc = {}
rc.pids = {}
local service = {}
local cfg = {}
cfg.enabled = {}
@@ -37,12 +38,20 @@ end
function rc.stop(name,...)
if not service[name] then return false, "service not found" end
service[name].stop(...)
coroutine.yield()
if rc.pids[name] then
os.kill(rc.pids[name])
end
rc.pids[name] = nil
end

function rc.start(name,...)
rc.load(name)
if not service[name] then return false, "service not found" end
return service[name].start(...)
local rv = {service[name].start(...)}
if type(rv[1]) == "number" then
rc.pids[name] = rv[1]
end
end

function rc.restart(name)


Loading…
Откажи
Сачувај