From 022e40cc71beda874d0bad2cec227e472d5dd4af Mon Sep 17 00:00:00 2001 From: Benoit Germain Date: Fri, 18 Apr 2025 10:26:19 +0200 Subject: New feature: Linda periodical cancellation checks * lanes.linda() api change: takes all settings in a single table argument * new linda creation argument wake_period * new lanes.configure setting linda_wake_period * adjusted all unit tests (one TODO test fails on purpose) --- unit_tests/scripts/lane/tasking_cancelling.lua | 2 +- unit_tests/scripts/lane/tasking_comms_criss_cross.lua | 2 +- unit_tests/scripts/lane/tasking_communications.lua | 2 +- unit_tests/scripts/lane/tasking_send_receive_code.lua | 2 +- unit_tests/scripts/linda/multiple_keepers.lua | 6 +++--- unit_tests/scripts/linda/send_registered_userdata.lua | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) (limited to 'unit_tests/scripts') diff --git a/unit_tests/scripts/lane/tasking_cancelling.lua b/unit_tests/scripts/lane/tasking_cancelling.lua index ea4516e..873140e 100644 --- a/unit_tests/scripts/lane/tasking_cancelling.lua +++ b/unit_tests/scripts/lane/tasking_cancelling.lua @@ -16,7 +16,7 @@ local lanes_linda = assert(lanes.linda) -- ################################################################################################## -- cancellation of lanes waiting on a linda -local limited = lanes_linda("limited") +local limited = lanes_linda{name = "limited"} assert.fails(function() limited:limit("key", -1) end) assert.failsnot(function() limited:limit("key", 1) end) -- [[################################################ diff --git a/unit_tests/scripts/lane/tasking_comms_criss_cross.lua b/unit_tests/scripts/lane/tasking_comms_criss_cross.lua index 497e81d..610da8b 100644 --- a/unit_tests/scripts/lane/tasking_comms_criss_cross.lua +++ b/unit_tests/scripts/lane/tasking_comms_criss_cross.lua @@ -42,7 +42,7 @@ local tc = lanes_gen("io", { name = 'auto', gc_cb = gc_cb }, end ) -local linda= lanes_linda("criss cross") +local linda= lanes_linda{name = "criss cross"} local a,b= tc(linda, "A","B"), tc(linda, "B","A") -- launching two lanes, twisted comms diff --git a/unit_tests/scripts/lane/tasking_communications.lua b/unit_tests/scripts/lane/tasking_communications.lua index 631d105..01842b4 100644 --- a/unit_tests/scripts/lane/tasking_communications.lua +++ b/unit_tests/scripts/lane/tasking_communications.lua @@ -72,7 +72,7 @@ local chunk= function(linda) WR("chunk ", "Lane ends!\n") end -local linda = lanes_linda("communications") +local linda = lanes_linda{name = "communications"} assert(type(linda) == "userdata" and tostring(linda) == "Linda: communications") -- -- ["->"] master -> slave diff --git a/unit_tests/scripts/lane/tasking_send_receive_code.lua b/unit_tests/scripts/lane/tasking_send_receive_code.lua index e329a88..cb3663f 100644 --- a/unit_tests/scripts/lane/tasking_send_receive_code.lua +++ b/unit_tests/scripts/lane/tasking_send_receive_code.lua @@ -65,7 +65,7 @@ local function chunk2(linda) linda:send("up", function() return ":)" end, "ok2") end -local linda = lanes_linda("auto") +local linda = lanes_linda{name = "auto"} local t2= lanes_gen("debug,package,string,io", { name = 'auto', gc_cb = gc_cb }, chunk2)(linda) -- prepare & launch linda:send("down", function(linda) linda:send("up", "ready!") end, "ok") diff --git a/unit_tests/scripts/linda/multiple_keepers.lua b/unit_tests/scripts/linda/multiple_keepers.lua index 8733087..267d874 100644 --- a/unit_tests/scripts/linda/multiple_keepers.lua +++ b/unit_tests/scripts/linda/multiple_keepers.lua @@ -2,9 +2,9 @@ local require_lanes_result_1, require_lanes_result_2 = require "lanes".configure{nb_user_keepers = 3, keepers_gc_threshold = 500} local lanes = require_lanes_result_1 -local a = lanes.linda("A", 1) -local b = lanes.linda("B", 2) -local c = lanes.linda("C", 3) +local a = lanes.linda{name = "A", group = 1} +local b = lanes.linda{name = "B", group = 2} +local c = lanes.linda{name = "C", group = 3} -- store each linda in the other 2 do diff --git a/unit_tests/scripts/linda/send_registered_userdata.lua b/unit_tests/scripts/linda/send_registered_userdata.lua index 2c0195a..90c05c9 100644 --- a/unit_tests/scripts/linda/send_registered_userdata.lua +++ b/unit_tests/scripts/linda/send_registered_userdata.lua @@ -1,5 +1,5 @@ local lanes = require 'lanes'.configure{with_timers = false} -local l = lanes.linda'gleh' +local l = lanes.linda{name = 'gleh'} l:set('yo', io.stdin) local n, stdin_out = l:get('yo') assert(n == 1 and stdin_out == io.stdin, tostring(stdin_out) .. " ~= " .. tostring(io.stdin)) -- cgit v1.2.3-55-g6feb