diff options
Diffstat (limited to 'src/modules/exec.lua')
-rw-r--r-- | src/modules/exec.lua | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/modules/exec.lua b/src/modules/exec.lua index 239248f..14a8856 100644 --- a/src/modules/exec.lua +++ b/src/modules/exec.lua @@ -131,10 +131,19 @@ function exec:new(config) end function client:cleanup() util.kill(self.pid) + rawio.close(in_handle.fd) + rawio.close(out_handle.fd) end in_handle.client_instance = client out_handle.client_instance = client + function child:cleanup(reason, status) + log.printf(log.INFO, "cleanup for child %d called (after %s(%s))", self.pid, reason, status) + -- TODO: restart programm after it stopped? + module_list:unregister(inst) + client_list:unregister(client) + end + function inst:cleanup() client_list:unregister_by_module(self) end |