diff options
| author | bors <bors@rust-lang.org> | 2023-03-30 00:25:41 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2023-03-30 00:25:41 +0000 |
| commit | 10338571cfa7c2be0aeed309141ced91454d41e1 (patch) | |
| tree | 0656a3a63f3fba4acb700119a97dbe40ab481cda /library/std/src | |
| parent | 2fb0e8d162a021f8a795fb603f5d8c0017855160 (diff) | |
| parent | 7b40eb71a90d93e825e32394d30f199a8492342d (diff) | |
| download | rust-10338571cfa7c2be0aeed309141ced91454d41e1.tar.gz rust-10338571cfa7c2be0aeed309141ced91454d41e1.zip | |
Auto merge of #107221 - kleisauke:getentropy-emscripten, r=ChrisDenton
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')
| -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; |
