summaryrefslogtreecommitdiff
path: root/src/main_loop.lua
diff options
context:
space:
mode:
Diffstat (limited to 'src/main_loop.lua')
-rw-r--r--src/main_loop.lua26
1 files changed, 14 insertions, 12 deletions
diff --git a/src/main_loop.lua b/src/main_loop.lua
index 46cb0b1..e92c9b7 100644
--- a/src/main_loop.lua
+++ b/src/main_loop.lua
@@ -110,30 +110,32 @@ function main_loop(opt)
if(return_value == 1) then break end
else
local ret = reader:read()
- if(ret == defines.KILL_DAEMON) then
- return_value = 2
- break
- elseif(ret == defines.KILL_MODULE_CLASS) then
- module_list:unregister_by_class(reader.client_instance.module_instance.class)
+ if(ret == defines.KILL_MODULE_CLASS) then
+ ret = module_list:unregister_by_class(reader.client_instance.module_instance.class)
elseif(ret == defines.KILL_MODULE) then
- module_list:unregister(reader.client_instance.module_instance)
+ ret = module_list:unregister(reader.client_instance.module_instance)
elseif(ret == defines.KILL_CLIENT) then
client_list:unregister(reader.client_instance)
end
+ if(ret == defines.KILL_DAEMON) then
+ return_value = 2
+ break
+ end
end
end
for _, writer in ipairs(writeable) do
ret = writer:write()
- if(ret == defines.KILL_DAEMON) then
- return_value = 2
- break
- elseif(ret == defines.KILL_MODULE_CLASS) then
- module_list:unregister_by_class(writer.client_instance.module_instance.class)
+ if(ret == defines.KILL_MODULE_CLASS) then
+ ret = module_list:unregister_by_class(writer.client_instance.module_instance.class)
elseif(ret == defines.KILL_MODULE) then
- module_list:unregister(writer.client_instance.module_instance)
+ ret = module_list:unregister(writer.client_instance.module_instance)
elseif(ret == defines.KILL_CLIENT) then
client_list:unregister(writer.client_instance)
end
+ if(ret == defines.KILL_DAEMON) then
+ return_value = 2
+ break
+ end
end
end
command_queue:check_timeout()