From Gaming on Linux, By Liam Dawe:
Steam Game Recording was recently released, which came as part of a big Stable Steam Client update that noted it had fixes for “miscellaneous common crashes” on Linux. Now we know a little more on what’s happening behind the scenes.
Coming from a blog post from developer Timothée Besset, who does a lot of Valve work, Besset mentions how a change to how they approach the setenv and getenv functions that made the “most significant impact to Steam client stability on Linux”.
For some context:
– setenv: change or add an environment variable.
– getenv: get an environment variable.
According to Besset, one of their colleagues claimed setenv as “the worst Linux API”, even though it’s such a common API available across all platforms “it was a little difficult to convince ourselves just how bad it is” — ouch. And they already knew, at least on Linux, that “setenv and getenv aren’t safe to use in multithreaded environments”.
