LuCId: Only count our own threads
authorSteven Barth <steven@midlink.org>
Mon, 2 Nov 2009 14:21:55 +0000 (14:21 +0000)
committerSteven Barth <steven@midlink.org>
Mon, 2 Nov 2009 14:21:55 +0000 (14:21 +0000)
libs/lucid/luasrc/lucid.lua

index e1d73227f1cc4ca8c5bdce63fe4d39df688fdb4b..7a9c4abdfd2f6668cab415b0010d8f782d40aa64 100644 (file)
@@ -145,9 +145,11 @@ function run()
                
                local pid, stat, code = nixio.wait(-1, "nohang")
                while pid and pid > 0 do
-                       tcount = tcount - 1
-                       if tpids[pid] and tpids[pid] ~= true then
-                               tpids[pid](pid, stat, code)
+                       if tpids[pid] then
+                               tcount = tcount - 1
+                               if tpids[pid] ~= true then
+                                       tpids[pid](pid, stat, code)
+                               end
                        end
                        pid, stat, code = nixio.wait(-1, "nohang")
                end
@@ -231,7 +233,7 @@ function create_process(threadcb, waitcb)
        end
        local pid, code, err = nixio.fork()
        if pid and pid ~= 0 then
-               tpids[pid] = waitcb
+               tpids[pid] = waitcb or true
                tcount = tcount + 1
        elseif pid == 0 then
                local code = threadcb()