Minetest logo

IRC log for #minetest-dev, 2023-04-28

| Channels | #minetest-dev index | Today | | Google Search | Plaintext

All times shown according to UTC.

Time Nick Message
02:51 YuGiOhJCJ joined #minetest-dev
04:00 MTDiscord joined #minetest-dev
05:09 calcul0n joined #minetest-dev
05:54 tekakutli joined #minetest-dev
08:22 tekakutli joined #minetest-dev
09:55 appguru joined #minetest-dev
11:17 fluxionary joined #minetest-dev
12:11 YuGiOhJCJ joined #minetest-dev
12:24 appguru joined #minetest-dev
12:33 proller joined #minetest-dev
12:34 afcm joined #minetest-dev
13:16 Desour joined #minetest-dev
13:44 Desour_ joined #minetest-dev
14:06 izzyb joined #minetest-dev
14:06 freshreplicant[m joined #minetest-dev
14:50 appguru joined #minetest-dev
16:01 proller joined #minetest-dev
17:22 appguru joined #minetest-dev
17:40 Desour joined #minetest-dev
18:11 lhofhansl joined #minetest-dev
18:12 lhofhansl Hi all... Planing to merge #13468 soon.
18:12 ShadowBot https://github.com/minetest/minetest/issues/13468 -- Guarantee m_active_objects is not modified while iterating by lhofhansl
18:17 lhofhansl And... Done.
18:19 Krock !tell Desour what do you mean by https://github.com/minetest/minetest/issues/13465#issuecomment-1527886581 ? Only callbacks can change the size, and that's currently protected. Hence, the references cannot become invalid
18:19 ShadowBot Krock: OK.
18:19 Krock ShadowBot <3
18:19 ShadowBot Krock: An error has occurred and has been logged. Please contact this bot's administrator for more information.
18:20 Krock perfect
18:25 lhofhansl :)
18:37 Pexin ShadowBot less than three
18:56 Desour joined #minetest-dev
19:02 Desour Krock: the list_to_lock is released before calling the put/move/take callbacks. the problem is that the list (and its size) is used in the calling function, after the recursive call
19:03 Desour (idk what I've done to the bots, but they seem to dislike me. the shady one at least never sends me tell-messages );)
19:06 Krock ah right. that sucks
19:10 Krock so a check for the entire inventorylist is needed inside the loop (after executing the first apply())
19:10 Krock yet that cannot capture either when a node is removed within the callback
19:27 Desour Krock: #13470
19:27 ShadowBot https://github.com/minetest/minetest/issues/13470 -- Release invlist resizelock while doing the recursive callback in move_somewhere mode by Desour
19:28 Desour what should we do if an invlist suddenly disappears?
19:28 Desour just returning feels wrong, because invaction seems to hold some weird state
19:31 Krock the nested calls are protected by the name lookup already
19:32 Krock problem are only the move_somewhere loop from what I can see
19:32 Desour yes
19:32 Desour the outer thing has to protect its stuff from the inner thing
19:33 Krock then why did you move the "list_from" check below the loop?
19:34 Krock I think it would be more straight-forward to either throw and catch an exception or to have return values to indicate failure
19:35 Krock that would basically replace the need for checking the validity of the list within the loop since that's already done by the nested apply() call
19:36 Krock >  //TODO: how to handle?
19:37 Krock no special code at all. there's already an infostream log above
19:39 Desour I've moved list_from down because we don't need to lock it up there
19:40 Desour >that would basically replace the need for checking the validity of the list within the loop since that's already done by the nested apply() call
19:41 Desour apply() only checks the lists when it's called, not after its call. we need the list after calling it
19:43 Desour updated the PR. it now effectively just breaks the loops when the to-list is removed. so, shift-clicking will just do partial work
19:43 Desour this should be fine I think
19:52 Krock > not after its call
19:52 Krock hence the suggestion to use return values (or exceptions)
19:53 Desour but the return value would then say if the invlist was removed, which is not a failure of the apply function
19:55 Krock no but indicating whether apply() handled the item stack would be an indicator whether or not to continue the loop. anyway. the current state seems to do the trick as well
19:57 Desour apply() can handle the item partly (i.e. an allow_put can return a smaller item count), and the list can be removed regardless
19:57 Desour maybe I'm misunderstanding you x]
20:00 Krock no, you understood me correct. I just appear to be tired to have missed that
20:02 Desour ah ok, good then. anyway, thanks for the suggestions!
20:05 Krock I'll have a PR later on. thanks for digging into that
20:05 Krock *look into the PR
20:12 proller joined #minetest-dev
20:12 appguru joined #minetest-dev
21:10 Guest38 joined #minetest-dev
21:49 diceLibrarian joined #minetest-dev
22:33 panwolfram joined #minetest-dev
22:34 jonadab joined #minetest-dev
22:35 tekakutli joined #minetest-dev
23:28 tekakutli joined #minetest-dev

| Channels | #minetest-dev index | Today | | Google Search | Plaintext