но если ты используешь либу, которая незаметно работает с переменными окружения, то либо он адолжна предоставить тырфейс для получения и установки их, либо не стоит её юзать, эту либу
Minoru да, ты прав, должен быть «владелец». В нашем случае таким владельцем является libc, но авторы двух популярных реализаций (glibc и musl) сказали, что «просто не надо вызывать setenv в многопоточном окружении», и их нельзя заставить поменять мнение, потому что POSIX, на который все молятся, тоже ничего такого не предписывает
либку, на расте или том языке, на котором ты пишешь. Можешь вообще перед началом использования, копировать переменные окружения и с ними работать, а после работы писать (только нахрен они кому сдались после работы, если это всё относится только к процессу этому)
Minoru @ttldtor: нет, погоди, эту либку должны использовать *все* кто выполняется в данном процессе, иначе у разного кода будет разное представление о переменных окружения