getenv() + putenv() + setenv() 的 thread-safe 問題

在「Improving Steam Client Stability on Linux (ttimo.typepad.com)」這邊看到的,原文在「Improving Steam Client stability on Linux: setenv and multit

https://blog.gslin.org/archives/2024/11/13/12063/getenv-putenv-setenv-%e7%9a%84-thread-safe-%e5%95%8f%e9%a1%8c/

#Computer #Linux #Murmuring #OS #Programming #Security #Software #env #getenv #glibc #linux #memory #multihtreading #putenv #safe #safety #setenv #thread #threadsafe #threading #threads

getenv() + putenv() + setenv() 的 thread-safe 問題

在「Improving Steam Client Stability on Linux (ttimo.typepad.com)」這邊看到的,原文在「Improving Steam Client stability on Linux: setenv and multithreaded environments」這邊。 裡面提到了 getenv() + putenv() + setenv() 的設計問題使得他很難 thread-safe 而造成 Linux 版的 Steam client 容易 crash,從功能上大概猜得到原因,畢竟是對一塊 global variable 操作 + 提供 pointer 讓後續的程式操...

Gea-Suan Lin's BLOG