diff options
Diffstat (limited to 'src/module_list.lua')
-rw-r--r-- | src/module_list.lua | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/module_list.lua b/src/module_list.lua index e343cf1..85428e4 100644 --- a/src/module_list.lua +++ b/src/module_list.lua @@ -119,8 +119,8 @@ end function module_list:unregister(module) if(module == self.output) then - log.printf(log.WARNING, "won't remove output module: " .. module.name) - return + log.printf(log.WARNING, "output module can't be removed safely, closing daemon") + return defines.KILL_DAEMON end for i, m in ipairs(self.inputs) do @@ -131,11 +131,18 @@ function module_list:unregister(module) break end end + + return defines.OK end function module_list:unregister_by_class(class) local free_list = {} + if(self.output.class == class) then + log.printf(log.WARNING, "output module can't be removed safely, closing daemon") + return defines.KILL_DAEMON + end + for i, m in ipairs(self.inputs) do if(m.class == class) then table.insert(free_list, 1, i) @@ -147,6 +154,8 @@ function module_list:unregister_by_class(class) self.inputs[i]:cleanup() table.remove(self.inputs, i) end + + return defines.OK end function module_list:cleanup() |