package.path = "./?/init.lua;?.lua;lua5.2/share/lua/5.2/?/init.lua;lua5.2/share/lua/5.2/?.lua;" package.cpath = "lua5.2/lib/lua/5.2/?/core.dll;" multi, thread = require("multi"):init{print=true} GLOBAL, THREAD = require("multi.integration.lanesManager"):init() local conn = multi:newSystemThreadedConnection("conn"):init() multi:newSystemThread("Thread_Test_1",function() local multi, thread = require("multi"):init() local conn = GLOBAL["conn"]:init() conn(function() print(THREAD:getName().." was triggered!") end) multi:mainloop() end) multi:newSystemThread("Thread_Test_2",function() local multi, thread = require("multi"):init() local conn = GLOBAL["conn"]:init() conn(function(a,b,c) print(THREAD:getName().." was triggered!",a,b,c) end) multi:newAlarm(2):OnRing(function() print("Fire 2!!!") conn:Fire(4,5,6) THREAD.kill() end) multi:mainloop() end) conn(function(a,b,c) print("Mainloop conn got triggered!",a,b,c) end) alarm = multi:newAlarm(1) alarm:OnRing(function() print("Fire 1!!!") conn:Fire(1,2,3) end) alarm = multi:newAlarm(3):OnRing(function() multi:newSystemThread("Thread_Test_3",function() local multi, thread = require("multi"):init() local conn = GLOBAL["conn"]:init() conn(function(a,b,c) print(THREAD:getName().." was triggered!",a,b,c) end) multi:newAlarm(2):OnRing(function() print("Fire 3!!!") conn:Fire(7,8,9) end) multi:mainloop() end) end) multi:newSystemThread("Thread_Test_4",function() local multi, thread = require("multi"):init() local conn = GLOBAL["conn"]:init() local conn2 = multi:newConnection() multi:newAlarm(2):OnRing(function() conn2:Fire() end) multi:newThread(function() print("Conn Test!") thread.hold(conn + conn2) print("It held!") end) multi:mainloop() end) multi:mainloop()