QA@IT
«回答へ戻る

回答を投稿

呼べない。putenvは内部でmalloc()を使っているし、libc lockもとる。たいへん紛らわしいことにこのページでreentrantという単語は thread safe という意味で使われている。

また、さらに紛らわしいことに、ここでの thread safetyには隠れた条件があり、それは別スレッドがgetenv()を使っていないことである。つまり別スレッドがmalloc等内部的にgetenv()する関数を使っていると遠慮無くクラッシュする

呼べない。putenvは内部でmalloc()を使っているし、libc lockもとる。たいへん紛らわしいことにこのページでreentrantという単語は thread safe という意味で使われている。

また、さらに紛らわしいことに、ここでの thread safetyには隠れた条件があり、それは別スレッドがgetenv()を使っていないことである。つまり別スレッドがmalloc等内部的にgetenv()する関数を使っていると遠慮無くクラッシュする