Compare commits

..

120 Commits

Author SHA1 Message Date
7b0cb7a853 added priorityManager to rockspec 2024-02-24 23:57:42 -05:00
ffaab32d5e Cleaned up changes.md 2024-02-24 23:27:27 -05:00
946217310f lanes uses a threaded function like waitfor function 2024-02-24 23:23:35 -05:00
b4c3708f50 Fixed, conf 2024-02-24 23:13:48 -05:00
e3ac0951ab Threading working in love2d 2024-02-24 23:05:05 -05:00
42b4e0fcf4 Added test for defer 2023-11-26 22:13:18 -05:00
f07b1ebb57 Fixed typo 2023-11-26 21:12:44 -05:00
ea6503d7b2 Fixed issues 2023-11-26 21:10:37 -05:00
b7a7e5bf16 Add test for rockspec 2023-11-26 20:57:59 -05:00
5ac17f8e59 Testing paths 2023-11-26 13:14:02 -05:00
2b9f732d88 Working on paths 2023-11-26 13:10:16 -05:00
726f55e5c6 Fixed paths 2023-11-26 12:59:54 -05:00
91561f7f24 Fixed tests on lanes and pseudo threading, todo fix love2d threading 2023-11-26 12:49:23 -05:00
8d843a5958 Added thread.defer(func) 2023-11-09 22:04:11 -05:00
30db370cc9 Updated changes.md and fixed some bugs 2023-11-02 23:59:34 -04:00
0af807a930 Fixed newTask() 2023-11-02 09:31:09 -04:00
9ad2c45b8f Document new features to conns, todo fix newTask 2023-11-01 23:37:00 -04:00
e7ff234cef Merge branch 'v16.0.0' of https://github.com/rayaman/multi into v16.0.0 2023-10-28 17:57:29 -04:00
f540396932 Added boost method 2023-10-28 17:57:21 -04:00
46ace58ab8 Added function / connection 2023-10-17 21:37:33 -04:00
ef7464f70d Working on getting pseudoThreading tests to work 2023-10-15 13:21:57 -04:00
ad929da484 Some work on the debug manager, proxies working on lanes, todo get pseudo manager and love2d working 2023-10-03 22:21:37 -04:00
3d55704726 Planning out debugManager 2023-09-07 21:17:15 -04:00
13221ca47e Test for 5.1 2023-09-04 19:50:50 -04:00
98198a4af2 Fixed error code issue 2023-09-04 19:48:13 -04:00
5f5723e936 Working on new type system, planning out debugmanager 2023-09-04 12:03:00 -04:00
a660b63581 Closer to getting things working... 2023-08-06 00:38:22 -04:00
bab9b13cb8 Push error when an error happens 2023-08-03 23:40:43 -04:00
8c2bde7ed8 Should now push non 0 exit codes 2023-08-03 23:33:16 -04:00
d50c187710 Not hard crashing when error is encountered 2023-08-03 23:22:01 -04:00
5359be0772 testing... 2023-08-03 23:11:32 -04:00
59cbeb6597 Fixed packing of values into threads, need to fix system proxies and system threaded processors 2023-08-01 23:45:06 -04:00
bb0592f3eb new pack/unpack for tables, current issue is things being turned into strings 2023-07-30 00:47:27 -04:00
bbaac2d779 jobqueues having isues with stp 2023-07-17 00:44:59 -04:00
9e6552d42e Working on adding a Hold method to all objects. Will document how they all work when done. 2023-07-16 11:10:35 -04:00
afdd98ab13 Rewriting love2d threading binding 2023-07-15 01:16:03 -04:00
e43fe34a7c Still implementing new love2d threading code 2023-07-10 15:54:36 -04:00
f4cdde6040 Rewriting loveManager, too much outdated code 2023-07-09 21:54:01 -04:00
cec53f6f4e Added timeout to build 2023-07-04 23:56:56 -04:00
d57dc7dc22 Edited symlink 2023-07-04 23:45:43 -04:00
6be948f068 Removed link 2023-07-04 23:43:40 -04:00
c8abadd8d6
Update multi 2023-07-04 23:41:17 -04:00
15bbec9379 Fixed pull 2023-07-04 23:39:40 -04:00
befe863846 packagepath set 2023-07-04 23:38:30 -04:00
761e739e18 actually pull the repo 2023-07-04 23:32:03 -04:00
a9673385d9 Moved other tests while testing 2023-07-04 23:30:15 -04:00
0b0f971802 Use workspace 2023-07-04 23:28:54 -04:00
755f207554 Testing love2d 2023-07-04 23:26:37 -04:00
49a1b944d0 Fixed love2d tests 2023-07-04 23:25:08 -04:00
883bdb9830 No window for love2d 2023-07-04 23:20:00 -04:00
8a83c617fa use sudo 2023-07-04 23:16:03 -04:00
06580e0bfa Use appimage 2023-07-04 23:14:24 -04:00
0a72f16e68 Fixed path 2023-07-04 23:07:30 -04:00
721571d1a4 Use ubuntu for build 2023-07-04 23:05:37 -04:00
7c95b2e8ca Use later love-build 2023-07-04 23:04:06 -04:00
a6fac9d1d4 Test love2d 2023-07-04 23:00:48 -04:00
7ba642342d Testing love2d tests 2023-07-04 22:49:06 -04:00
acc94ea17e Removed system threaded connections, soon to be replaced by proxies 2023-07-04 16:00:37 -04:00
81fc7b95c9 Fixed issue with errors not going through 2023-07-04 13:46:25 -04:00
03a2f686a8 fixing stuff 2023-07-04 13:32:38 -04:00
96cc41effb Throw an error when things break 2023-07-04 13:25:18 -04:00
8c987b81ab typo fixed 2023-07-04 13:20:23 -04:00
1064d8a1cc fixing actions 2023-07-04 13:12:23 -04:00
cd4cc5fd2d Testing... 2023-07-04 13:10:12 -04:00
614e032aa5 Testing actions, fixing bugs with lanes 2023-07-04 13:05:07 -04:00
b2569118a2 Started work on the debugManager 2023-06-30 16:14:21 -04:00
d36204c87f
Merge pull request #59 from rayaman/compare
Compare
2023-06-25 21:48:41 -04:00
660c10ec3b Removed extra bloat, proxies are portable now! 2023-06-25 21:46:37 -04:00
c39aa229f8 Fixed critical issue with coroutine based threads 2023-06-20 00:05:12 -04:00
c80f44c68e Debugging what is going on... 2023-06-19 00:24:07 -04:00
1b3e3303e9 Really close to portable proxies, currently extreamly unstable! 2023-06-18 00:08:51 -04:00
6fe10b22ab Testing 2023-06-17 21:33:34 -04:00
257ed03728 THREAD_NAME set for main thread, connections break the rules for proxies 2023-06-03 12:07:33 -04:00
5e2ab9af3d Added an easy way to share a table, found some limitations with lanes threading. 2023-05-31 21:51:47 -04:00
d520e0a93a Fixed some bugs 2023-05-30 23:50:36 -04:00
03ecb47f6f Finished getLoad(type) 2023-05-29 01:29:12 -04:00
3effcb7384 Getting loads of processors implemented 2023-05-28 00:37:17 -04:00
06c31bee85 Clean up connection events when holding, working on scheduling tasks/threads to system threaded processors 2023-05-27 23:57:58 -04:00
5c03b34290 thread.hold(proxy.conn) 2023-05-27 00:10:21 -04:00
af38ebbb81 Added tstep to STP, updated changes.md 2023-05-24 23:31:07 -04:00
de9b08fa2e Proxies work with connections now :D 2023-05-24 23:17:18 -04:00
ab9e949b68 newProxy implemented 2023-05-21 09:43:44 -04:00
ea4be86ae2 newProxy and STP work 2023-05-16 23:40:14 -04:00
160c72d2f3 Working on systemthreadedprocess, and experimental newProxy for threading 2023-05-14 00:52:35 -04:00
5caa90f6c7 updated changes.md 2023-05-07 23:04:06 -04:00
a5add93747 Changes to threads 2023-05-07 23:03:15 -04:00
ec9f7dec61 Trying to fix exposeENV with pseudoThreading 2023-05-07 01:31:29 -04:00
e616b51d6f fixing 2023-05-07 00:24:07 -04:00
cfa4c0f0b6 Fixed typo in pseudoManager 2023-05-07 00:19:34 -04:00
9f3b663fa2 Typo in changes.md 2023-05-06 16:52:48 -04:00
4fe428e572 THREAD.exposeENV(), thread:newProcessor() 2023-05-06 16:46:15 -04:00
5cc18b04ae Threaded processors 2023-05-06 03:18:00 -04:00
33202260e3 Fixed issues with missing code 2023-05-05 16:33:31 -04:00
189552ac65 Working on custom prioritySchemes 2023-05-03 23:09:37 -04:00
42149ffab2 Working on priority management 2023-04-30 23:53:54 -04:00
03dbe1ee5b Working on new priority scheme 2023-04-30 01:06:20 -04:00
8cf047d713 removed extra __cores in lanes/pseudo 2023-04-29 13:47:25 -04:00
9e1d31fc2a Modified tests to make it more seamless 2023-04-25 22:32:24 -04:00
0e6c30b478 Updated files for testing 2023-04-25 22:05:32 -04:00
d8218f0bf7 All tests working 2023-04-25 21:57:25 -04:00
45b51c15c7 Fixed love2d to succeed with tests 2023-04-25 21:31:36 -04:00
61b5ea9d14 Added test cases for threading, fixed issues. Todo test love2d 2023-04-25 00:13:47 -04:00
d2cfdfa8e8 Writing tests for system threading 2023-04-24 00:15:35 -04:00
8e6d174f20 Plan on testing parity between the threading modules 2023-04-20 23:23:51 -04:00
c65b850529 Updated changes.md 2023-04-04 23:07:39 -04:00
a105d8a575 removed test 2023-01-22 23:04:09 -05:00
7da192e8dc Fixed some issues with threads 2023-01-21 13:18:44 -05:00
ef9267d8fc Fixed broken threads for love 2023-01-20 00:11:55 -05:00
0994ee2d2a Working on issue where threads created in threads don't work 2023-01-19 00:16:32 -05:00
22f1375380 Working on issue with love threaded functions not waiting when in a thread 2023-01-18 15:42:38 -05:00
6ed5555706 Fixed issue with double thread activations (Looking for another solution) 2023-01-17 23:45:26 -05:00
a7a902acd6 Updated connections 2023-01-15 13:28:45 -05:00
3776fdff9d Connections can be % with functions 2023-01-11 22:53:03 -05:00
7114b87bdd Testing types 2023-01-10 00:07:12 -05:00
0bccc0dd87 Concat conns now properly transfer events 2023-01-07 09:57:31 -05:00
cf980951a4 Updated version 2023-01-07 01:35:32 -05:00
a81e55f41c Updated readme 2023-01-07 01:34:41 -05:00
5cf3947b15 Updated files 2023-01-07 01:32:22 -05:00
298529edc2
Merge branch 'master' into v16.0.0 2023-01-07 01:26:29 -05:00
5137bb9483 Fixed spelling, started ideaing for 16.0.0 2022-12-31 17:06:04 -05:00
4 changed files with 11 additions and 77 deletions

View File

@ -1,4 +1,11 @@
# Multi Version: 16.0.1 - Bug fix # Multi Version: 16.0.0 - Connecting the dots
**Key Changes**
- Expanded connection logic
- New integration priorityManager
- Tests for threads
- Consistent behavior between the threading integrations
- Improved love2d threading
- Bug fixes
Found an issue? Please [submit it](https://github.com/rayaman/multi/issues) and someone will look into it! Found an issue? Please [submit it](https://github.com/rayaman/multi/issues) and someone will look into it!
@ -6,7 +13,7 @@ My multitasking library for lua. It is a pure lua binding, with exceptions of th
</br> </br>
Progress is being made in [v16.1.0](https://github.com/rayaman/multi/tree/v16.1.0) Progress is being made in [v16.0.0](https://github.com/rayaman/multi/tree/v16.0.0)
--- ---
</br> </br>

View File

@ -1,7 +1,6 @@
# Changelog # Changelog
Table of contents Table of contents
--- ---
[Update 16.0.1 - Bug fix](#update-1531---bug-fix)</br>
[Update 16.0.0 - Connecting the dots](#update-1600---getting-the-priorities-straight)</br> [Update 16.0.0 - Connecting the dots](#update-1600---getting-the-priorities-straight)</br>
[Update 15.3.1 - Bug fix](#update-1531---bug-fix)</br> [Update 15.3.1 - Bug fix](#update-1531---bug-fix)</br>
[Update 15.3.0 - A world of connections](#update-1530---a-world-of-connections)</br> [Update 15.3.0 - A world of connections](#update-1530---a-world-of-connections)</br>
@ -59,35 +58,6 @@ Table of contents
[Update: EventManager 1.0.0 - Error checking](#update-eventmanager-100---error-checking)</br> [Update: EventManager 1.0.0 - Error checking](#update-eventmanager-100---error-checking)</br>
[Version: EventManager 0.0.1 - In The Beginning things were very different](#version-eventmanager-001---in-the-beginning-things-were-very-different) [Version: EventManager 0.0.1 - In The Beginning things were very different](#version-eventmanager-001---in-the-beginning-things-were-very-different)
# Update 16.0.1 - Bug fix
Fixed
---
- thread.pushStatus() wasn't properly working when forwarding events from THREAD.pushStatus OnStatus connection. This bug also caused stack overflow errors with the following code
```lua
func = thread:newFunction(function()
for i=1,10 do
thread.sleep(1)
thread.pushStatus(i)
end
end)
func2 = thread:newFunction(function()
local ref = func()
ref.OnStatus(function(num)
-- do stuff with this data
thread.pushStatus(num*2) -- Technically this is not ran within a thread. This is ran outside of a thread inside the thread handler.
end)
end)
local handler = func2()
handler.OnStatus(function(num)
print(num)
end)
multi:mainloop()
```
# Update 16.0.0 - Getting the priorities straight # Update 16.0.0 - Getting the priorities straight
## Added New Integration: **priorityManager** ## Added New Integration: **priorityManager**

View File

@ -86,7 +86,7 @@ function multi.getTypes()
return types return types
end end
multi.Version = "16.0.1" multi.Version = "16.0.0"
multi.Name = "root" multi.Name = "root"
multi.NIL = {Type="NIL"} multi.NIL = {Type="NIL"}
local NIL = multi.NIL local NIL = multi.NIL
@ -447,7 +447,6 @@ function multi:newConnection(protect,func,kill)
func = function(...) func = function(...)
__CurrentConnectionThread = th __CurrentConnectionThread = th
fref(...) fref(...)
__CurrentConnectionThread = nil
end end
end end
table.insert(fast, func) table.insert(fast, func)
@ -1436,7 +1435,7 @@ local function cleanReturns(...)
end end
function thread.pushStatus(...) function thread.pushStatus(...)
local t = __CurrentConnectionThread or thread.getRunningThread() local t = thread.getRunningThread() or __CurrentConnectionThread
t.statusconnector:Fire(...) t.statusconnector:Fire(...)
end end

View File

@ -1,42 +0,0 @@
package = "multi"
version = "16.0-1"
source = {
url = "git://github.com/rayaman/multi.git",
tag = "v16.0.1",
}
description = {
summary = "Lua Multi tasking library",
detailed = [[
This library contains many methods for multi tasking. Features non coroutine based multi-tasking, coroutine based multi-tasking, and system threading (Requires use of an integration).
Check github for documentation.
]],
homepage = "https://github.com/rayaman/multi",
license = "MIT"
}
dependencies = {
"lua >= 5.1"
}
build = {
type = "builtin",
modules = {
["multi"] = "init.lua",
["multi.integration.lanesManager"] = "integration/lanesManager/init.lua",
["multi.integration.lanesManager.extensions"] = "integration/lanesManager/extensions.lua",
["multi.integration.lanesManager.threads"] = "integration/lanesManager/threads.lua",
["multi.integration.loveManager"] = "integration/loveManager/init.lua",
["multi.integration.loveManager.extensions"] = "integration/loveManager/extensions.lua",
["multi.integration.loveManager.threads"] = "integration/loveManager/threads.lua",
["multi.integration.loveManager.utils"] = "integration/loveManager/threads.lua",
--["multi.integration.lovrManager"] = "integration/lovrManager/init.lua",
--["multi.integration.lovrManager.extensions"] = "integration/lovrManager/extensions.lua",
--["multi.integration.lovrManager.threads"] = "integration/lovrManager/threads.lua",
["multi.integration.pseudoManager"] = "integration/pseudoManager/init.lua",
["multi.integration.pseudoManager.extensions"] = "integration/pseudoManager/extensions.lua",
["multi.integration.pseudoManager.threads"] = "integration/pseudoManager/threads.lua",
["multi.integration.luvitManager"] = "integration/luvitManager.lua",
["multi.integration.threading"] = "integration/threading.lua",
["multi.integration.sharedExtensions"] = "integration/sharedExtensions/init.lua",
["multi.integration.priorityManager"] = "integration/priorityManager/init.lua",
--["multi.integration.networkManager"] = "integration/networkManager.lua",
}
}