summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrebecca <ubq323@ubq323.website>2026-09-12 22:21:31 +0100
committerrebecca <ubq323@ubq323.website>2026-09-12 22:21:43 +0100
commitefc0d1e7eafcdba7f9207f777a00f28bb48da5e7 (patch)
tree83257da70e6d2a4ded3f319286cd64a67e192762
parentc593260d4f522f8ee0e51bd70db021e85a7e4d25 (diff)
improve error reporting
-rw-r--r--bs.lua9
-rw-r--r--main.lua6
-rw-r--r--pylon.lua6
3 files changed, 16 insertions, 5 deletions
diff --git a/bs.lua b/bs.lua
new file mode 100644
index 0000000..bb284cc
--- /dev/null
+++ b/bs.lua
@@ -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
+
diff --git a/main.lua b/main.lua
index b1cb708..a500284 100644
--- a/main.lua
+++ b/main.lua
@@ -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"))
diff --git a/pylon.lua b/pylon.lua
index cd0ae9e..7841f11 100644
--- a/pylon.lua
+++ b/pylon.lua
@@ -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