From 211a569a15d3807a68979cb085f02690c4336ab4 Mon Sep 17 00:00:00 2001 From: "Robert G. Jakabosky" Date: Wed, 2 May 2012 20:14:20 -0700 Subject: [PATCH] Directly call 'on_work' callback from IO read callback. --- examples/poll_zsock.lua | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/examples/poll_zsock.lua b/examples/poll_zsock.lua index c118f9b..2c16333 100644 --- a/examples/poll_zsock.lua +++ b/examples/poll_zsock.lua @@ -37,6 +37,7 @@ local zsock_mt = { __index=meths } local function zsock_check_events(self) if not self.check_enabled then + -- enable 'on_work' callback to handle checking for socket events. self.check_enabled = true poll:add_work(self.on_work) end @@ -131,7 +132,7 @@ local function wrap_zsock(sock, on_data, on_drain) check_enabled = false, }, zsock_mt) - function self.on_work() + local function on_work() self.check_enabled = false local events = sock:events() local read = false @@ -158,10 +159,11 @@ local function wrap_zsock(sock, on_data, on_drain) self:on_drain(sock) end end + self.on_work = on_work -- listen for read events to enable socket. poll:add_read(sock:fd(), function() - zsock_check_events(self) + on_work() end) zsock_check_events(self)