Guild icon
DDraceNetwork
Development / developer
Development discussion. Logged to https://ddnet.org/irclogs/ Connected with DDNet's IRC channel, Matrix room and GitHub repositories — IRC: #ddnet on Quakenet | Matrix: #ddnet-developer:matrix.org GitHub: https://github.com/ddnet
Between 2024-09-06 00:00 and 2024-09-07 00:00
Avatar
(the video is a little biased but that’s basically unavoidable when it’s language wars content)
Avatar
Avatar
zhn
everytime i tried to mod ddnet, literally xd
angy angy angy kekw
Avatar
chillerdragon BOT 2024-09-06 00:31
yes
Replying to @doick манiпулятор r u here
Avatar
ws-client BOT 2024-09-06 00:31
<ChillerDragon> @Jupstar ✪ yea small bugs that require huge refactors are the worst. If that happens to me I add a lot of big bugs during refactor xd
00:33
<ChillerDragon> Or are you saying the bug is not even demanding that but you planned to do a 5 min coding session and then get caught by flow and code until you refactored everything? Yea no i do not know these moments xd
Avatar
Avatar
ws-client
<ChillerDragon> Or are you saying the bug is not even demanding that but you planned to do a 5 min coding session and then get caught by flow and code until you refactored everything? Yea no i do not know these moments xd
You don't?? I once wanted to fix a small bug on Blockworlds and ended up refactoring random things for 4 hours straight justatest
Avatar
Avatar
Learath2
https://youtu.be/-w4H2-LLVdY new linux kernel drama with rust flavoring
I skipped most of the video because it was hard to watch but the comments are pretty interesting.
01:43
I think the most salient point is that rust requires the internal C api to be stable but C devs do not want to fix rust code whenever they change the internal api.
Avatar
Avatar
Tater
I think the most salient point is that rust requires the internal C api to be stable but C devs do not want to fix rust code whenever they change the internal api.
Yes. The rust for linux project basically wants previously private internal apis to be stable. Which the C people see as undue burden on them to support something they either actively don't like or don't care about
Avatar
MilkeeyCat 2024-09-06 05:42
@Learath2 are mutable global variables bad?
Avatar
Avatar
MilkeeyCat
@Learath2 are mutable global variables bad?
Why should it be bad :o
Avatar
Avatar
Learath2
(the video is a little biased but that’s basically unavoidable when it’s language wars content)
i saw the original video, the c linux maintainers were rly acting like kids tbh xD
Avatar
Avatar
Learath2
Yes. The rust for linux project basically wants previously private internal apis to be stable. Which the C people see as undue burden on them to support something they either actively don't like or don't care about
its not exactly like this, with rust you can define the semantics with types, in C you had to read the function code to understand the semantics, asahi lina explained this in a thread and im sure they know better
07:56
I regretfully completely understand Wedson's frustrations. https://lore.kernel.org/lkml/20240828211117.9422-1-wedsonaf@gmail.com/ A subset of C kernel developers just seem determined to make the lives of the Rust maintainers as difficult as possible. They don't see Rust as having value and would rather it just goes away. When I tried to upstr...
Avatar
ws-client BOT 2024-09-06 07:57
<ChillerDragon> lina pog
07:57
<ChillerDragon> my fav vtuber
Avatar
Making the Rust bindings safe would have required duplicating much of the functionality of the C code just to track things to uphold the lifetime requirements. It made no sense. It would have been easier to just rewrite the whole thing in Rust (I might end up doing that). To this day, bugs in the DRM scheduler have been the only causes of kernel panics triggered via my Apple GPU driver in production. The design of that component is just bad. But because I come from the Rust world, the maintainer didn't want to listen to my suggestions. If it takes a whole year to get a concept as simple as a trivial "device" wrapper upstreamed (not any device model functionality, literally just an object wrapping a struct device so we can pass it around) then how is Rust for Linux ever going to take off? Rust works. I'm pretty sure I'm the only person ever to single handedly write a complex GPU kernel driver that has never had a memory safety kernel panic bug (itself) in production, running on thousands of users' systems for 1.5 years now. Because I wrote it in Rust. But I get the feeling that some Linux kernel maintainers just don't care about future code quality, or about stability or security any more. They just want to keep their C code and wish us Rust folks would go away. And that's really sad... and isn't helping make Linux better.
Avatar
Avatar
MilkeeyCat
@Learath2 are mutable global variables bad?
they unsafe if accessed via muiltiple threads
08:00
unless they are atomic
08:01
btw const by default is better than mutable by default, even in c++ world., because u can have const correctness, mutable should be opt in not opt out
08:01
also const allows more optimizations
08:01
even without a borrow checker
08:02
anyway now im a risc-v maximalist
08:02
(only cuz im writing a emulator keks)
Avatar
Avatar
MilkeeyCat
@Learath2 are mutable global variables bad?
They aren't. But as with all of these contentious features, they are very easy to misuse. As a rule of thumb, I reserve globals only for truly global program state, configuration and inter-thread communication. We teach beginners not to use globals because they are bad at using function arguments and returns so they just add globals, which is not what they are good for
08:15
There is also an argument to be made that globals make it harder to reason about code locally, because technically your functions now depend on the state of all the globals they use which could be modified from all over the program, suddenly codeflow isn't obvious at all
Avatar
Avatar
Ryozuki
its not exactly like this, with rust you can define the semantics with types, in C you had to read the function code to understand the semantics, asahi lina explained this in a thread and im sure they know better
I fully understand, but the issue is that they are complaining about (from what I gather) the semantics of internal apis not being documented and concrete, (which is fair, to implement a stable public rust api, they need a stable foundation to base it upon). For example I can see why the DRM people care much more about not breaking the very commonly used amdgpu then accepting patches to support rust which currently is used only by a very small group of people
Avatar
Avatar
Ryozuki
btw const by default is better than mutable by default, even in c++ world., because u can have const correctness, mutable should be opt in not opt out
I think this really comes down to an annoyance thing, if you are doing something where 90% of your variables are mutable then the const by default will not be helping much. If you have good tooling in your IDE/compiler/warnings it shouldn't make much difference either way.
Avatar
Avatar
Ryozuki
they unsafe if accessed via muiltiple threads
Data races are unpredictable whether a variable is global or not, no? You need sychnronization one way or another if more than one thread is involved
Avatar
Avatar
Tater
I think this really comes down to an annoyance thing, if you are doing something where 90% of your variables are mutable then the const by default will not be helping much. If you have good tooling in your IDE/compiler/warnings it shouldn't make much difference either way.
There is a decent argument to be made for const by default: it's nice for optimization. There are many options available to the compiler if it knows a variable can't change.
Avatar
Avatar
ws-client
<ChillerDragon> Or are you saying the bug is not even demanding that but you planned to do a 5 min coding session and then get caught by flow and code until you refactored everything? Yea no i do not know these moments xd
Jupstar ✪ 2024-09-06 08:25
Ok, didn't know you the best bro xd I meant that yeah
Avatar
Avatar
Learath2
There is a decent argument to be made for const by default: it's nice for optimization. There are many options available to the compiler if it knows a variable can't change.
is it really so hard for the compiler to figure out if the variable can change? maybe in c++ but any modern language should be able to do this easily
Avatar
Avatar
Ryozuki
(only cuz im writing a emulator keks)
Jupstar ✪ 2024-09-06 08:29
here a keks for you 🍪
Avatar
Avatar
Tater
is it really so hard for the compiler to figure out if the variable can change? maybe in c++ but any modern language should be able to do this easily
Well there are bounds to a compilers authority, in C it's the translation unit. So it can't optimize across those. But yes, all modern compilers do some form of data flow analysis, so as long as all your code is contained within one translation unit, they should(tm) figure out what is const
Avatar
Avatar
Learath2
They aren't. But as with all of these contentious features, they are very easy to misuse. As a rule of thumb, I reserve globals only for truly global program state, configuration and inter-thread communication. We teach beginners not to use globals because they are bad at using function arguments and returns so they just add globals, which is not what they are good for
MilkeeyCat 2024-09-06 08:30
I already have 5 stashes in git repo while I was trying to add possibility to use struct type in itself and global variable which is declared after it's used in a function, it all came down to moving out symbol table from parser but if I do, one feature will break pepeW
Avatar
Avatar
Learath2
Well there are bounds to a compilers authority, in C it's the translation unit. So it can't optimize across those. But yes, all modern compilers do some form of data flow analysis, so as long as all your code is contained within one translation unit, they should(tm) figure out what is const
I guess this is true yeah
Avatar
Jupstar ✪ 2024-09-06 08:31
In c++ const isn't attractive, bcs you have to manually type it xd
Avatar
Avatar
Ryozuki
anyway now im a risc-v maximalist
I think framework (or a partner) will release an experimental framework motherboard with a StarFive processor. So we can have riscv laptops
Avatar
Avatar
Jupstar ✪
In c++ const isn't attractive, bcs you have to manually type it xd
well the issue is simply that if you do not know if your variable with be const or mutable at the time you write then you have to pick and change it later. So if you want to be perfect you will pick const and then make it mutable.
08:33
which is why I think it's an IDE problem
Avatar
Jupstar ✪ 2024-09-06 08:34
Also what i hate about all common languages except rust is, that if you initialize a variable that requires more logic you directly have to use a full function. In rust you have code blocks { } where you can put encapsuled logic into.
Avatar
having hotkey to change variable without going to it's definition solves the issue (edited)
Avatar
Avatar
Jupstar ✪
Also what i hate about all common languages except rust is, that if you initialize a variable that requires more logic you directly have to use a full function. In rust you have code blocks { } where you can put encapsuled logic into.
Jupstar ✪ 2024-09-06 08:34
This also makes immutable more attractive IMO
Avatar
Avatar
Jupstar ✪
Also what i hate about all common languages except rust is, that if you initialize a variable that requires more logic you directly have to use a full function. In rust you have code blocks { } where you can put encapsuled logic into.
MilkeeyCat 2024-09-06 08:34
I just recently learned you can return value from loops in rust xd
Avatar
Avatar
MilkeeyCat
I just recently learned you can return value from loops in rust xd
Jupstar ✪ 2024-09-06 08:35
Yeah master teero tought me xd
Avatar
what does that even mean
08:35
return value from loops is a special thing?
Avatar
Jupstar ✪ 2024-09-06 08:35
08:36
Directly found a usecase after Teero told about it
08:36
that is nice
Avatar
Avatar
Jupstar ✪
In c++ const isn't attractive, bcs you have to manually type it xd
I wish C++ const would propagate to object members :/
Avatar
wait but couldn't you just use 2 lines of code to set the variable and then break?
Avatar
Avatar
Jupstar ✪
Also what i hate about all common languages except rust is, that if you initialize a variable that requires more logic you directly have to use a full function. In rust you have code blocks { } where you can put encapsuled logic into.
One of my favourite features in any language is all blocks being able to have a return and become a typed expression
Avatar
Avatar
Tater
wait but couldn't you just use 2 lines of code to set the variable and then break?
Jupstar ✪ 2024-09-06 08:38
What do you mean by that? You can defs solve this problem differently
Avatar
Avatar
Jupstar ✪
What do you mean by that? You can defs solve this problem differently
nvm I'm dumb
Avatar
Avatar
Tater
return value from loops is a special thing?
How often do you see the pattern, if found set variable, break? It takes one line out of that, it's if found break with value in rust
Avatar
yes it's nice but it's one of those rust things where the behavior is not obvious if you don't know the hidden rule.
Avatar
Hm, I remember it being part of the tutorial
Avatar
ok well I never used a tutorial for any other language lol
08:46
I just read existing code and google things
08:46
rust has the highest frequency of google things by far
08:46
not even close
Avatar
MilkeeyCat 2024-09-06 08:46
if I had to read this, ain't no way I understand anything here
08:47
Idk what sort of madman it takes to enjoy lisp and lisplikes
08:48
I guess atleast it's very easy to parse justatest
Avatar
;; for comments is so cursed lmao
Avatar
Jupstar ✪ 2024-09-06 08:49
;~;
Avatar
literally why
Avatar
MilkeeyCat 2024-09-06 08:49
assembly uses ; so Im fine with it greenthing
Avatar
assembly gets a pass for being assembly
Avatar
MilkeeyCat 2024-09-06 08:51
chilledragon: can you write teeworlds client in lisp?
Avatar
Chiller teeworlds client in drracket pls
Avatar
the first example is so funny. the java code is actually smaller if you remove the "boilerplate" lines
Avatar
Avatar
Tater
the first example is so funny. the java code is actually smaller if you remove the "boilerplate" lines
To be fair, they are both complete programs of their respective languages
Avatar
it's true but you could easily write a java interpreter where the middle 2 lines become a valid program. they would be in C#
08:55
(very new C#)
Avatar
Avatar
Tater
it's true but you could easily write a java interpreter where the middle 2 lines become a valid program. they would be in C#
That will be a feature in newer Java versions
Avatar
Avatar
Robyt3
That will be a feature in newer Java versions
Really?
Avatar
да -911°C 2024-09-06 08:59
ребят помогите как сделать из демки в видео
Avatar
Avatar
MilkeeyCat
if I had to read this, ain't no way I understand anything here
also I don't understand how he says that "youve seen about 90% of closure" when this screenshot seems to have like 2 dozen more keywords
Avatar
Now that is a nice change
Avatar
maybe those are declared keywords
Avatar
Avatar
да -911°C
ребят помогите как сделать из демки в видео
MilkeeyCat 2024-09-06 09:01
Avatar
this guy cannot be serious lmao
Avatar
ws-client BOT 2024-09-06 09:01
<ChillerDragon> @MilkeeyCat lisp hm. Its somewhat OG from what i understand. I tried functional a few times and rage quitted instantly i cant wrap my head around it. But sounds like a good idea. We definitely need a 0.7 protocol implementation in lisp.
09:02
<ChillerDragon> watf is drracket
Avatar
Avatar
Tater
this guy cannot be serious lmao
Jupstar ✪ 2024-09-06 09:02
In teeworlds physics, this is very fast 😂
Avatar
MilkeeyCat 2024-09-06 09:03
chillerdragon: after list you can write scientific paper about teeworlds and use haskell for code examples (edited)
Avatar
ws-client BOT 2024-09-06 09:03
<ChillerDragon> sounds good
Avatar
Avatar
да -911°C
Click to see attachment 🖼️
Jupstar ✪ 2024-09-06 09:03
Thanks for posting a random demo without any context
Avatar
Avatar
да -911°C
Click to see attachment 🖼️
да -911°C 2024-09-06 09:03
make a video of the pj
09:04
make a video please
Avatar
Jupstar ✪ 2024-09-06 09:04
You can also do that
Avatar
да -911°C 2024-09-06 09:04
I can't
Avatar
chillerdragon BOT 2024-09-06 09:04
Avatar
Avatar
да -911°C
I can't
Jupstar ✪ 2024-09-06 09:04
Why not 😮
Avatar
chillerdragon BOT 2024-09-06 09:04
omg no matrix images
Avatar
Avatar
Jupstar ✪
Why not 😮
да -911°C 2024-09-06 09:05
Will you do it?
Avatar
Avatar
да -911°C
Will you do it?
Jupstar ✪ 2024-09-06 09:05
MHHHHHHHHH, ok, but next time please ask in #general chat or smth
Avatar
да -911°C 2024-09-06 09:06
ok sorry I just joined
Avatar
Avatar
chillerdragon
Click to see attachment 🖼️
But isn’t it slow? No. Clojure is not slow. Oh, look, it’s not C. It’s not assembler. If nanoseconds are your concern than you probably don’t want Clojure in your innermost loops. You also probably don’t want Java, or C#. But 99.9% of the software we write nowadays has no need of nanosecond performance. I’ve built a real time, GUI based, animated space war game using Clojure. I could keep the frame rates up in the high 20s even with hundreds of objects on the screen. Clojure is not slow.
Avatar
GitHub BOT 2024-09-06 09:09
Haven't looked into it, i simply recorded a vid, crashed when it was done ``` SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior src/engine/client/video.cpp:345:2 ================================================================= ==16644==ERROR: AddressSanitizer: heap-use-after-free on address 0x7cdb9c9104bd at pc 0x55f4a59b265d bp 0x7ffeceb8b3b0 sp 0x7ffeceb8b3a8 WRITE of size 1 at 0x7cdb9c9104bd thread T0 #0 0x55f4a59b265c in CVideo::Stop() src/engine/client/video.cpp:345:1...
Avatar
Jupstar ✪ 2024-09-06 09:10
can't even PM you the video
Avatar
Avatar
да -911°C
ok sorry I just joined
Jupstar ✪ 2024-09-06 09:10
09:10
bcs i have no nitro
Avatar
да -911°C 2024-09-06 09:10
thank you very much brother so that the dick stands and the women give bro
what 2
Avatar
Avatar
да -911°C
thank you very much brother so that the dick stands and the women give bro
Jupstar ✪ 2024-09-06 09:12
Np, have a nice day
Avatar
Avatar
да -911°C
ребят помогите как сделать из демки в видео
за 500 руб скажу
Avatar
MilkeeyCat 2024-09-06 10:11
go to #off-topic to write in russian -.- (edited)
Avatar
Original message was deleted or could not be loaded.
Be happy that Heinrich isn't here right now
Avatar
Original message was deleted or could not be loaded.
if you violate server rules once again, i'll be forced to timeout you for a week
10:21
its impolite
Avatar
Avatar
ws-client
<ChillerDragon> watf is drracket
It's a lisp dialect derived from scheme
Avatar
Avatar
zhn
if you violate server rules once again, i'll be forced to timeout you for a week
i missed it, what was it? justatest
Avatar
@Anime.pdf @Davide , u can ask him
11:18
In pm
Avatar
Thanks YEP
Avatar
Hey everyone, would it be possible to get some auto-verification feature for servers that need a verification? Primarily talking about servers that need you to verify on a website. KoG has GER3 and USA3 for example. There are a few clients that already have this feature and I was wondering if we could get such a feature in the official DDNet Client.
Avatar
Yes, there is an issue for that
11:37
This url can then be used by the client to verify yourself, e.g making a curl request or opening it in the browser. We can also show a hover tooltip for clueless tees this is related to the ger10.d...
👍 1
Avatar
hi how edit other massage in News Tab ? actually i create one more client
Avatar
@deen The PR message in #8822 still contains .tw links. Do you generate these using a script? 😄 Not sure if you've addressed this already, but thought it was worth pointing out. (edited)
Avatar
Avatar
MAhdiyar
hi how edit other massage in News Tab ? actually i create one more client
Avatar
Will get an antifeature on F-Droid
13:01
i want to write more blog posts and usually have ideas but when i have the ideas i feel lazy to write and when i dont feel lazy the ideas are gone
Avatar
This kinda depends on the language and it's conventions. In go and C e.g. library code is usually expected to handle nil/NULL gracefully. So you wouldn't really push that if out to the user of the library usually (edited)
13:06
But in general I agree very much with both his rules of thumb
Avatar
Avatar
murpi
@deen The PR message in #8822 still contains .tw links. Do you generate these using a script? 😄 Not sure if you've addressed this already, but thought it was worth pointing out. (edited)
Thanks!
Avatar
GitHub BOT 2024-09-06 13:42
Not sure if it should be a config option, so that GER10 for example doesn't have to maintain it's own fork. Closes #6808 Supersedes #8698

Checklist

  • [x] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no phys...
Avatar
how can I get clientId in spawn event? like in death event
Avatar
You can't, spawn events don't contain the clientid
Avatar
Jupstar ✪ 2024-09-06 14:16
ikr
14:16
i disliked that too about old teeworlds
Avatar
just wanted to colorize spawn particles in team colors
Avatar
Jupstar ✪ 2024-09-06 14:17
i want star wars in fng, everyone own laser color
Avatar
don't really like purple ones :D
Avatar
Jupstar ✪ 2024-09-06 14:17
but i think we already have extensions for entities
14:17
maybe you can also add them to events
14:18
but i have no idea how that system works xd
Avatar
np, I just thought something like this would be cool
Avatar
You can do very hacky stuff to infer who spawned
14:26
1) Keep track of spawns using who gets added to the snap. 2) Keep a vector of their positions 3) When you get a spawn event, go through the vector of latest spawn positions, find the closest one, that's your id 4) Remove the spawn from the vector
Avatar
GitHub BOT 2024-09-06 14:29
I have team chat binded on t and /tp binded on ctrl+t. For some reason, when opening team chat even once, I can't use my tp bind anymore. Every time I try to it just opens the chat. Closing the client and reopening it solves it. Every other bind, having something in l and something else in ctrl+l for example seems to be working fine. I use steam client. Seems like a minor issue, but an issue nonetheless.
Avatar
Avatar
Learath2
1) Keep track of spawns using who gets added to the snap. 2) Keep a vector of their positions 3) When you get a spawn event, go through the vector of latest spawn positions, find the closest one, that's your id 4) Remove the spawn from the vector
hm, looks 2 complicated 2 me xd, but thanks anyway, maybe i'll try
Avatar
Jupstar ✪ 2024-09-06 14:40
I just had the most random github moment ever
14:40
I 100% created a new post, and it edited one that i didn't even click on xddd
14:41
what kind of hot-keys should i have been clicked
Avatar
GitHub BOT 2024-09-06 14:48
Closes #8894 https://github.com/user-attachments/assets/ea469458-6b7e-4712-b884-bb7e0280507f

Checklist

  • [x] Tested the change ingame
  • [x] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tes...
Avatar
ws-client BOT 2024-09-06 15:19
<ChillerDragon> whats a github post? xd
Avatar
Jupstar ✪ 2024-09-06 15:21
smng
15:21
nsg
15:22
msg
Avatar
GitHub BOT 2024-09-06 16:06
It would be better if the dummy kept being connected after a reload, but only if the map name is the as the previous map. Currently it's a bit annoying for map testing if you have to reconnect it every time you reload/hot_reload.
Avatar
how fix it? (edited)
Avatar
тюлень 2024-09-06 16:16
рш
16:16
hi
👋 1
Avatar
Avatar
MAhdiyar
how fix it? (edited)
more information would be helpful - what are you trying to do - did you modify anything etc
Avatar
Avatar
meloƞ
more information would be helpful - what are you trying to do - did you modify anything etc
Yes, I made a change from Menu_background.h , menus.h because I created a new window (edited)
16:20
but idk what is this
16:20
and icant find this
Avatar
what kind of "new window" were you trying to create? can you send the code snippet in here please
Avatar
Avatar
meloƞ
what kind of "new window" were you trying to create? can you send the code snippet in here please
ok
16:21
else if(g_Config.m_UiSettingsPage == SETTINGS_INFORMATION) { GameClient()->m_MenuBackground.ChangePosition(CMenuBackground::POS_SETTINGS_INFORMATION); RenderSettingsInformation(MainView); }
16:22
and this to menu.h
16:22
menu.h
16:23
menu_background.cpp (edited)
16:23
menu_background.h
Avatar
did you add it to CProofMode::SetMenuBackgroundPositionNames
Avatar
Avatar
meloƞ
did you add it to CProofMode::SetMenuBackgroundPositionNames
No where ?
Avatar
Avatar
MAhdiyar
else if(g_Config.m_UiSettingsPage == SETTINGS_INFORMATION) { GameClient()->m_MenuBackground.ChangePosition(CMenuBackground::POS_SETTINGS_INFORMATION); RenderSettingsInformation(MainView); }
also is this under CMenus::RenderSettings?
Avatar
Avatar
MAhdiyar
No where ?
proof_mode.cpp
16:26
ah wait i'm stoopid, that's editor
Avatar
Avatar
meloƞ
proof_mode.cpp
oo i find that
Avatar
Avatar
meloƞ
also is this under CMenus::RenderSettings?
No
Avatar
chillerdragon BOT 2024-09-06 16:39
Jopsti started to drink?
Replying to @Jupstar ✪ smng
Avatar
Jupstar ✪ 2024-09-06 16:42
I drink every day
16:42
Thanks for reminder
Avatar
GitHub BOT 2024-09-06 16:43
eb9e73f Add /lasttp to hot reload - KebsCS e4282f1 Merge pull request #8902 from KebsCS/pr-hotreload-lasttp - def-
Avatar
chillerdragon BOT 2024-09-06 16:43
lol
16:48
@Jupstar ✪: I need financial advice
16:48
Maybe offtopix
Avatar
is this right place to ask about linux kernel synchronization primitives performance? xd
Avatar
Jupstar ✪ 2024-09-06 17:14
they fast
Avatar
i have a part in kernel module which is slow (in compare with other calls) and seems that part uses spinlock to lock object ptr
17:14
like 3 ms
Avatar
Jupstar ✪ 2024-09-06 17:14
wtf
Avatar
i wonder if theres something faster than spinlock
17:15
i don't know the context though, i don't think if it's irq related thing
Avatar
Jupstar ✪ 2024-09-06 17:15
the problem isnt the spinlock itself
17:15
the question is, why is it blocking so long?
17:16
a spinlock is spinning
Avatar
good question, continuing my investigation
17:16
yeah fair xd
Avatar
GitHub BOT 2024-09-06 17:16
It would otherwise not use the person who started the vote to find the map. Bug from #8833

Checklist

  • [x] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the ch...
Avatar
Jupstar ✪ 2024-09-06 17:16
if there is no contention it's probably the fastest locking primitive
17:16
if there is another thread. then the kernel has a hard decision
17:16
i must guess when to halt the thread to not block other processes
17:17
and this is why in user land code it's often considered bad practice to use them
Avatar
there's another thread i believe
17:17
but ig its not a case
17:17
theres some kind of info dumping on lock, maybe it's the reason
Avatar
GitHub BOT 2024-09-06 17:53
bbd34c9 Fix random_unfinished_map not working with vote yes - furo321 0948a53 Merge pull request #8904 from furo321/fix-force-yes - def-
Avatar
GitHub BOT 2024-09-06 18:14
It would previously crash if you were in super and doing hot_reload. It will now instead put you back into your actual team if you were in super.

Checklist

  • [x] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Chan...
Avatar
GitHub BOT 2024-09-06 18:56
Do not reset the active map download's information before using the fallback map download. Remove redundant calls of ResetMapDownload before disconnecting, as this already resets the map download. Closes #8885. Regression from #8848.

Checklist

  • [X] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration ...
Avatar
GitHub BOT 2024-09-06 20:10
Fixes #8903 https://github.com/user-attachments/assets/a2a4fe4a-bf16-4936-8c7b-3cbd3e017fd2
  • [x] Tested the change ingame
  • [x] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change w...
22:29
9103332 Fix crash with hot_reload while in super - furo321 ed1ef4e Fix map download fallback from game server - Robyt3 3b22a3e Merge pull request #8905 from furo321/hot-reload-super-crash - def- fc058fa Merge pull request #8906 from Robyt3/Client-Download-Gameserver-Fix - def-
Exported 228 message(s)
Timezone: UTC+0