Time Nick Message 11:40 MTDiscord Would someone be willing to review #14565? sfan5 reviewed the previous version of it. 11:40 ShadowBot https://github.com/minetest/minetest/issues/14565 -- Upgrade client active object mgr tests to Catch2 (reviving #13609) by JosiahWI 14:06 MTDiscord merging #14653 in 5m 14:06 ShadowBot https://github.com/minetest/minetest/issues/14653 -- Do not bother to assert that a u8 is >= 0 by JosiahWI 16:14 sfan5 merging #14627, #14634 in 15m 16:14 ShadowBot https://github.com/minetest/minetest/issues/14627 -- Introduce proper error handling for file streams by sfan5 16:14 ShadowBot https://github.com/minetest/minetest/issues/14634 -- Reenable fog toggle unless server restricts fog distance by sfan5 16:20 MTDiscord sfan5: not blocking, but minor nitpick re #14627: OpenStream takes two bools log_error and log_warn. wouldn't an enum log { none, warn, error } make more sense? 16:20 ShadowBot https://github.com/minetest/minetest/issues/14627 -- Introduce proper error handling for file streams by sfan5 16:20 sfan5 i didn't want to introduce a separate type 16:21 sfan5 but maybe we have log level constants 16:22 MTDiscord irrlicht has ELOG_LEVEL 16:22 sfan5 ah hm no I'd have to include those too 16:23 sfan5 (we have our own enum LogLevel too) 16:23 MTDiscord heh 16:23 MTDiscord well irrlicht would let you do os::Printer::log(msg, level), what would our equivalent of that be? 16:24 sfan5 g_logger.log(level, msg) 16:25 MTDiscord ah 16:25 sfan5 I'll merge it as-is tho 16:25 MTDiscord ok 17:17 sfan5 / Works on all known architectures (x86, ARM, MIPS). 17:17 sfan5 love this comment in our source 18:38 nrz french youtubers talking about minecraft era and quoting minetest https://youtu.be/cQhK11fRF7E?si=yeyTgrV7_0RsqVCR&t=1479 18:40 [MTMatrix] Nrz: go and drop a comment for the whole community so they see we're active (if they say nice things about Minetest :D) 18:40 MTDiscord they played devtest.. 18:41 MTDiscord well, at least they also realized that there are plenty of mods and games 18:41 nrz it's a short note saying that we are free and mojang let us develop because we are not hostile 18:42 ROllerozxa luatic: looks like very old minetest footage, I don't think devtest has trees? 18:42 [MTMatrix] As if Mojang could copyright voxels 18:42 MTDiscord ROllerozxa: that may be 18:43 MTDiscord either way i don't see why they wasted any time with that.. 19:00 Krock that looked more like Minetest 0.3.x 19:59 sfan5 @luatic I am considering adding a function that polls until an ipc value is available, do you think that's a good idea? 19:59 sfan5 my primary worry of course is that modders use this to block the server thread 20:11 MTDiscord sfan5: sounds useful, otherwise modders would probably just end up implementing busy waiting themselves 20:12 MTDiscord some warning comments in the docs would of course be a good idea. but ultimately i don't think there is an "easy" way to do multithreading where people can't shoot themselves in the foot... by only allowing passing values through "channels", we're already on the safer and simpler side. 20:13 sfan5 can you think of an example usecase that requires polling? the alternative is always to core.after(0,...) and re-try next step 20:18 sfan5 (if you're on the server thread at least) 20:28 sfan5 here's my current code at least #14659 20:28 ShadowBot https://github.com/minetest/minetest/issues/14659 -- [no sq] Generic IPC mechanism between Lua envs by sfan5 20:30 MTDiscord sfan5: sometimes you need something now and can't defer it to the next step, for example in mapgen code, or when you need to return something sensible 20:30 sfan5 there is an immediate usecase for a cas primitive at least: inside_mapgen_env.lua runs in every thread but we only want to perform the tests once 20:31 sfan5 hmm yeah I guess mapgen is the only thing you really absolutely can't delay to some callback 20:33 MTDiscord i mean i suppose that could be changed if there was a way to tell the emerge thread to try again later, for example by returning true or something 20:36 sfan5 auth callbacks also can't be delayed 20:36 sfan5 (but what you be polling for? you can just do it directly in the server thread) 20:40 sfan5 another nice thing about this polling function is you can directly print to warningstream which mods caused exactly how much delay >:D 20:45 sfan5 one thing I'm wondering is whether the poll primitive should support only "wait until value present" or "wait until value changes" 20:45 sfan5 for the latter it'd just do a shallow comparison ofc 20:45 sfan5 I fear the former might be too limiting 20:46 sfan5 this is why some concrete use case would be nice ... 20:56 sfan5 suppose you implement a work-callback mechanism it'd have to look like this http://sprunge.us/snqVQw?lua 20:57 sfan5 (pretend you didn't see the broken atomic_inc implementation) 21:13 sfan5 pushing http://sprunge.us/Io7m0F?diff soon-ish