diff --git a/init.lua b/init.lua index 7d43893..33e77c3 100644 --- a/init.lua +++ b/init.lua @@ -157,18 +157,18 @@ function multi:newConnection(protect,func,kill) end, __mul = function(c1,c2) -- And local cn = multi:newConnection() - if not c1.__hasInstances then - cn.__hasInstances = 2 + if c1.__hasInstances == nil then + cn.__hasInstances = {2} cn.__count = {0} else - cn.__hasInstances = c1.__hasInstances + 1 + cn.__hasInstances = c1.__hasInstances + cn.__hasInstances[1] = cn.__hasInstances[1] + 1 cn.__count = c1.__count end c1(function(...) cn.__count[1] = cn.__count[1] + 1 - print(cn.__count[1], cn.__hasInstances) - if cn.__count[1] == cn.__hasInstances then + if cn.__count[1] == cn.__hasInstances[1] then cn:Fire(...) cn.__count[1] = 0 end @@ -176,8 +176,7 @@ function multi:newConnection(protect,func,kill) c2(function(...) cn.__count[1] = cn.__count[1] + 1 - print(cn.__count[1], cn.__hasInstances) - if cn.__count[1] == cn.__hasInstances then + if cn.__count[1] == cn.__hasInstances[1] then cn:Fire(...) cn.__count[1] = 0 end diff --git a/tests/runtests.lua b/tests/runtests.lua index fdf63ce..1640e05 100644 --- a/tests/runtests.lua +++ b/tests/runtests.lua @@ -114,17 +114,23 @@ runTest = thread:newFunction(function() end) local err, timeout = thread.hold(ret.OnReturn * ret2.OnReturn * ret3.OnReturn) - print("Working!",s1,s2,s3) + if s1 == 100 and s2 == 100 and s3 == 100 then - print("Threads: Ok") + print("Threads: All tests Ok") else - print("Threads OnStatus or thread.hold(conn) Error!") - end - if timeout then - print("Threads or Connection Error!") - else - print("Connection Test 1: Ok") + if s1>0 and s2>0 and s3 > 0 then + print("Thread OnStatus: Ok") + else + print("Threads OnStatus or thread.hold(conn) Error!") + end + if timeout then + print("Connection Error!") + else + print("Connection Test 1: Ok") + end + print("Connection holding Error!") end + conn1 = proc:newConnection() conn2 = proc:newConnection() conn3 = proc:newConnection()