summaryrefslogtreecommitdiff
path: root/lib/supple/host.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lib/supple/host.lua')
-rw-r--r--lib/supple/host.lua7
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