diff options
Diffstat (limited to 'lib/supple/host.lua')
-rw-r--r-- | lib/supple/host.lua | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/supple/host.lua b/lib/supple/host.lua index 617b365..596fba1 100644 --- a/lib/supple/host.lua +++ b/lib/supple/host.lua @@ -15,6 +15,7 @@ local subprocess = require 'luxio.subprocess' local comms = require 'supple.comms' local objects = require 'supple.objects' local capi = require 'supple.capi' +local track = require 'supple.track' local hostname = "host" local counter = 0 @@ -80,6 +81,8 @@ local function run_sandbox(codestr, codename, ...) objects.set_name(("host[%d,%%d]"):format(counter)) comms._set_fd(commsfd) objects.set_proc_call(comms.call) + + track.start() local func, env = comms.call("supple:loadstring", "__call", codestr, codename) if not func then @@ -120,12 +123,12 @@ local function run_sandbox(codestr, codename, ...) objects.clean_down(true) comms._set_fd(-1) - luxio.kill(child.pid, luxio.SIGKILL) + luxio.close(commsfd) child:wait() if ok then return ok, unpack(ret) else - return ok, err + return ok, err .. "\n\nHost comms track:\n" .. track.stop() end end |