diff options
Diffstat (limited to 'mode-leds.lua')
-rw-r--r-- | mode-leds.lua | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/mode-leds.lua b/mode-leds.lua index 51568f8..1b43184 100644 --- a/mode-leds.lua +++ b/mode-leds.lua @@ -21,14 +21,20 @@ socket = require("socket") +function process_cmd(message) + log.printf(log.DEBUG, "received message: '%s'", message) + + return 0 +end + function main_loop(opt) log.printf(log.NOTICE, "main_loop started") local sig = signal.init() - + local cmdfd = cmd.init() local return_value = 0 while return_value == 0 do - local readable, _, err = socket.select({ sig }, nil) + local readable, _, err = socket.select({ sig , cmdfd }, nil) if(err) then log.printf(log.ERROR, "select returned with error: %s", err) return_value = -1 @@ -37,6 +43,19 @@ function main_loop(opt) if(input == sig) then return_value = signal.handle() if(return_value == 1) then break end + else + if(input == cmdfd) then + return_value = cmd.recv_data(process_cmd) + if(return_value == 2) then + log.printf(log.ERROR, "connection to server lost, exitting") + return_value = -1 + end + if(return_value ~= 0) then break end + else + log.printf(log.ERROR, "select returned invalid handle??") + return_value = -1 + break; + end end end end |