diff options
Diffstat (limited to 'mode-tcpserver.lua')
-rw-r--r-- | mode-tcpserver.lua | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/mode-tcpserver.lua b/mode-tcpserver.lua index fa76574..640ee30 100644 --- a/mode-tcpserver.lua +++ b/mode-tcpserver.lua @@ -1,7 +1,7 @@ -- -- rhctl -- --- Copyright (C) 2009 Christian Pointner <equinox@spreadspace.org> +-- Copyright (C) 2009-2013 Christian Pointner <equinox@helsinki.at> -- -- This file is part of rhctl. -- @@ -25,7 +25,7 @@ current_mode = nil function init_server(host, port) local server = assert(socket.tcp()) - + assert(server:setoption('reuseaddr', true)) assert(server:bind(host, port)) assert(server:listen(5)) @@ -75,7 +75,7 @@ end function clients_get_writeables() local fds = {} - + for _, client in ipairs(clients) do if client.buffer ~= "" then table.insert(fds, client) @@ -93,7 +93,7 @@ end function process_cmd(message) log.printf(log.DEBUG, "received message: '%s'", message) - + local new_mode = nil local exps = { "Current Mode: (%a+)", "new Mode: (%a+)" } for _, exp in ipairs(exps) do @@ -103,25 +103,25 @@ function process_cmd(message) break end end - + if(new_mode and new_mode ~= current_mode) then clients_senddata(new_mode) current_mode = new_mode end - + return 0 end -function main_loop(opt) +function main_loop(opt) log.printf(log.NOTICE, "main_loop started") local sig = signal.init() local cmdfd = cmd.init() - + local server = init_server("*", "2345") cmd.send_string("listen mode"); cmd.send_string("status"); - + local return_value = 0 while return_value == 0 do local readable, writeable, err = socket.select({ sig , cmdfd , server , unpack(clients) }, clients_get_writeables()) @@ -138,7 +138,7 @@ function main_loop(opt) if(return_value ~= 0) then break end elseif input == server then local client = server:accept() - if(client == nil) then + if(client == nil) then return_value =-3 break else @@ -166,7 +166,7 @@ function main_loop(opt) end server:close() - cleanup_clients() + cleanup_clients() signal.stop() return return_value |