//@compile-flags: -Zmiri-disable-isolation -Zmiri-preemption-rate=0
//@ignore-target-windows: No libc env support on Windows

use std::env;
use std::thread;

fn main() {
    let t = thread::spawn(|| unsafe {
        // Access the environment in another thread without taking the env lock.
        // This represents some C code that queries the environment.
        libc::getenv(b"TZ\0".as_ptr().cast()); //~ERROR: Data race detected
    });
    // Meanwhile, the main thread uses the "safe" Rust env accessor.
    env::set_var("MY_RUST_VAR", "Ferris");

    t.join().unwrap();
}
