Fixed multiplying connections together

This commit is contained in:
Ryan Ward 2022-11-07 10:01:22 -05:00
parent d6d4934a7e
commit 0d3de6e31d
2 changed files with 20 additions and 15 deletions

View File

@ -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

View File

@ -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()