summaryrefslogtreecommitdiff
path: root/lib/supple/host.lua
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@digital-scurf.org>2012-08-12 17:11:06 +0100
committerDaniel Silverstone <dsilvers@digital-scurf.org>2012-08-12 17:11:06 +0100
commitd733d3a200a1d2a5aef697960badc02f1198d334 (patch)
tree0ba7a291c1d46d1f23f6febb75bad340aaea1faa /lib/supple/host.lua
parent4515790d34ff0a955dfc24d1db075e08f71cef62 (diff)
downloadsupple-d733d3a200a1d2a5aef697960badc02f1198d334.tar.gz
SUPPLE: Lots of diagnosis stuff
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