summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2010-11-09 07:55:18 +0000
committerChristian Pointner <equinox@spreadspace.org>2010-11-09 07:55:18 +0000
commit2bd5ceca8402588fdef3d823578c36d7115c71e7 (patch)
tree1e6997d1f8e8db460200647a84ee79f3d4dacd65
parentsmall cleanup (added module list) (diff)
fixed get_readables (signal fd was not added)
added client names git-svn-id: https://svn.spreadspace.org/gcsd/trunk@15 ac14a137-c7f1-4531-abe0-07747231d213
-rw-r--r--src/client_list.lua6
-rw-r--r--src/main_loop.lua6
-rw-r--r--src/modules/debug_shell.lua4
-rw-r--r--src/modules/dummy.lua1
4 files changed, 9 insertions, 8 deletions
diff --git a/src/client_list.lua b/src/client_list.lua
index 40996a2..cb4ed8d 100644
--- a/src/client_list.lua
+++ b/src/client_list.lua
@@ -35,14 +35,14 @@ client_list = {}
client_list.clients = {}
function client_list:register(client)
- log.printf(log.INFO, "adding client")
+ log.printf(log.INFO, "adding client: " .. client.name)
table.insert(self.clients, client)
end
function client_list:unregister(client)
for i, c in ipairs(self.clients) do
if(c == client) then
- log.printf(log.INFO, "removing client")
+ log.printf(log.INFO, "removing client: " .. client.name)
client:cleanup()
table.remove(self.clients, i)
break
@@ -60,7 +60,7 @@ function client_list:unregister_by_module(module)
end
for _, i in ipairs(free_list) do
- log.printf(log.INFO, "removing client")
+ log.printf(log.INFO, "removing client: " .. self.clients[i].name)
self.clients[i]:cleanup()
table.remove(self.clients, i)
end
diff --git a/src/main_loop.lua b/src/main_loop.lua
index 0ccaf01..0679d92 100644
--- a/src/main_loop.lua
+++ b/src/main_loop.lua
@@ -33,8 +33,8 @@
local socket = require("socket")
local defines = require("defines")
-function get_readables(sig)
- local readables = { sig }
+function get_readables()
+ local readables = {}
for _, module in ipairs(module_list.modules) do
for _, fd in ipairs(module:get_read_handles()) do
table.insert(readables, fd)
@@ -74,7 +74,7 @@ function main_loop(opt)
local return_value = 0
while return_value == 0 do
- local readable, writeable, err = socket.select(get_readables(), get_writeables())
+ local readable, writeable, err = socket.select({ sig, unpack(get_readables()) }, get_writeables())
if(err) then
log.printf(log.ERROR, "select returned with error: %s", err)
return_value = -1
diff --git a/src/modules/debug_shell.lua b/src/modules/debug_shell.lua
index 619ef72..6e0ad73 100644
--- a/src/modules/debug_shell.lua
+++ b/src/modules/debug_shell.lua
@@ -124,7 +124,8 @@ function debug_shell:new(config)
end
local client = {}
- client.module_instance = nil
+ client.module_instance = inst
+ client.name = inst.name .. ":" .. client_sock:getfd()
client.sock = client_sock
function client:process_response(response)
self.sock.out_buffer = self.sock.out_buffer .. response
@@ -144,7 +145,6 @@ function debug_shell:new(config)
self.sock.sock:close()
end
client_sock.client_instance = client
- client.module_instance = inst
client_list:register(client)
return defines.OK
diff --git a/src/modules/dummy.lua b/src/modules/dummy.lua
index e5a5a00..ec8adba 100644
--- a/src/modules/dummy.lua
+++ b/src/modules/dummy.lua
@@ -52,6 +52,7 @@ function dummy:new(config)
local client = {}
client.module_instance = inst
+ client.name = inst.name .. ":0"
function client:process_response() end
function client:process_timeout() end
function client:get_read_handles() return handle end