Skip to content

Commit

Permalink
Add note about safety of std::env::set_var on Windows
Browse files Browse the repository at this point in the history
  • Loading branch information
tbu- committed May 29, 2024
1 parent c4b1ff8 commit 2500719
Showing 1 changed file with 11 additions and 5 deletions.
16 changes: 11 additions & 5 deletions std/src/env.rs
Original file line number Diff line number Diff line change
Expand Up @@ -320,11 +320,14 @@ impl Error for VarError {
///
/// This function is safe to call in a single-threaded program.
///
/// In multi-threaded programs, you must ensure that are no other threads
/// concurrently writing or *reading*(!) from the environment through functions
/// other than the ones in this module. You are responsible for figuring out
/// how to achieve this, but we strongly suggest not using `set_var` or
/// `remove_var` in multi-threaded programs at all.
/// This function is also always safe to call on Windows, in single-threaded
/// and multi-threaded programs.
///
/// In multi-threaded programs on other operating systems, you must ensure that
/// are no other threads concurrently writing or *reading*(!) from the
/// environment through functions other than the ones in this module. You are
/// responsible for figuring out how to achieve this, but we strongly suggest
/// not using `set_var` or `remove_var` in multi-threaded programs at all.
///
/// Most C libraries, including libc itself, do not advertise which functions
/// read from the environment. Even functions from the Rust standard library do
Expand Down Expand Up @@ -379,6 +382,9 @@ unsafe fn _set_var(key: &OsStr, value: &OsStr) {
///
/// This function is safe to call in a single-threaded program.
///
/// This function is also always safe to call on Windows, in single-threaded
/// and multi-threaded programs.
///
/// In multi-threaded programs, you must ensure that are no other threads
/// concurrently writing or *reading*(!) from the environment through functions
/// other than the ones in this module. You are responsible for figuring out
Expand Down

0 comments on commit 2500719

Please sign in to comment.