diff options
| author | Kleis Auke Wolthuizen <github@kleisauke.nl> | 2023-01-18 10:20:27 +0100 |
|---|---|---|
| committer | Kleis Auke Wolthuizen <github@kleisauke.nl> | 2023-03-14 12:39:41 +0100 |
| commit | e3036613d1151ce64ae32839a785a8b972495e3e (patch) | |
| tree | 5b51fc0553b6a8cdc1a536767f5988b81f184793 /library/std/src/sys/unix/rand.rs | |
| parent | 0058748944abb3282aba0e0a74823c6411703565 (diff) | |
| download | rust-e3036613d1151ce64ae32839a785a8b972495e3e.tar.gz rust-e3036613d1151ce64ae32839a785a8b972495e3e.zip | |
Use getentropy() instead of /dev/urandom on Emscripten
`/dev/urandom` is usually available on Emscripten, except when using the special `NODERAWFS` filesystem backend, which replaces all normal filesystem access with direct Node.js operations. Since this filesystem backend directly access the filesystem on the OS, it is not recommended to depend on `/dev/urandom`, especially when trying to run the Wasm binary on OSes that are not Unix-based. This can be considered a non-functional change, since Emscripten implements `/dev/urandom` in the same way as `getentropy()` when not linking with `-sNODERAWFS`.
Diffstat (limited to 'library/std/src/sys/unix/rand.rs')
| -rw-r--r-- | library/std/src/sys/unix/rand.rs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/library/std/src/sys/unix/rand.rs b/library/std/src/sys/unix/rand.rs index a6fe07873d7..0f347ffab42 100644 --- a/library/std/src/sys/unix/rand.rs +++ b/library/std/src/sys/unix/rand.rs @@ -20,7 +20,8 @@ pub fn hashmap_random_keys() -> (u64, u64) { not(target_os = "netbsd"), not(target_os = "fuchsia"), not(target_os = "redox"), - not(target_os = "vxworks") + not(target_os = "vxworks"), + not(target_os = "emscripten") ))] mod imp { use crate::fs::File; @@ -174,7 +175,7 @@ mod imp { } } -#[cfg(target_os = "openbsd")] +#[cfg(any(target_os = "openbsd", target_os = "emscripten"))] mod imp { use crate::sys::os::errno; |
