extern crate shared_memory;
use shared_memory::*;
use std::path::PathBuf;
fn main() {
let my_shmem: SharedMem = match SharedMem::create_raw(String::from("some_raw_map"), 4096) {
Ok(v) => v,
Err(e) => {
println!("Error : {}", e);
println!("Failed to create raw SharedMem...");
return;
}
};
println!("Created link file \"{}\"
Backed by OS identifier : \"{}\"
Size : 0x{:x}",
my_shmem.get_link_path().unwrap_or(&PathBuf::from("[NONE]")).to_string_lossy(),
my_shmem.get_real_path().unwrap(),
my_shmem.get_size());
println!("Busy looping until first byte changes...");
{
let first_byte: ReadLockGuard<u8> = my_shmem.rlock().unwrap();
while *first_byte == &0 {
std::thread::sleep(std::time::Duration::from_secs(1));
}
}
println!("Done !");
}