diff options
| -rw-r--r-- | bs.lua | 9 | ||||
| -rw-r--r-- | main.lua | 6 | ||||
| -rw-r--r-- | pylon.lua | 6 |
3 files changed, 16 insertions, 5 deletions
@@ -0,0 +1,9 @@ +local M = {} +-- handles errors sensibly +function M.loop_correctly(context, cq) + local ok, err, code, thread, pollee, fd = cq:loop() + error('👉'..context..' '..debug.traceback(thread,err)..'👈',0) +end + +return M + @@ -1,9 +1,10 @@ local cqueues = require'cqueues' local class = require'r.class' +local pprint = require'pprint' +local bs = require 'bs' local config = require'config' local Channel = require'channel' -local pprint = require'pprint' local pylon_classes = { irc = require'irc.pylon', @@ -62,8 +63,7 @@ function Wilson.run(self) self.cq:wrap(pylon.run, pylon) print("now running pylon", pylonname) end - print('toplevel',self.cq:loop()) - cqueues.sleep(2) + bs.loop_correctly('(toplevel)',self.cq) end local config_file = assert(io.open("wilson.ini","r")) @@ -1,7 +1,9 @@ local cqueues = require'cqueues' - +local pprint = require 'pprint' local class = require 'r.class' local qw = require 'r.qw' + +local bs = require'bs' local Queue = require 'queue' local BasePylon = class() @@ -25,6 +27,6 @@ function BasePylon.run(self) self.cq:wrap(self.recving, self) self.cq:wrap(self.sending, self) end) - print(self.name, self.cq:loop()) + bs.loop_correctly(self.name, self.cq) end return BasePylon |
