arc4random in a nutshell No setup required Callable in any context kernel - most contexts - from start of main(), maybe even during bootstrap userland: - even inside chroot (filesystem agnostic) - pthreads (self locking) - libraries may safely call it (no setup required) - even signal handlers Always succeeds -- and returns a random result Lack of failure condition means back-end code must be robust