| ... | ... | @@ -1462,6 +1462,14 @@ static void init_rand() { |
| 1462 | 1462 | unsigned seed; |
| 1463 | 1463 | memcpy(&seed, ptr_random, sizeof(seed)); |
| 1464 | 1464 | srand(seed); |
| 1465 | #elif defined(ZIG_OS_FREEBSD) || defined(ZIG_OS_NETBSD) |
| 1466 | unsigned seed; |
| 1467 | size_t len = sizeof(seed); |
| 1468 | int mib[2] = { CTL_KERN, KERN_ARND }; |
| 1469 | if (sysctl(mib, 2, &seed, &len, NULL, 0) != 0) { |
| 1470 | zig_panic("unable to query random data from sysctl"); |
| 1471 | } |
| 1472 | srand(seed); |
| 1465 | 1473 | #else |
| 1466 | 1474 | int fd = open("/dev/urandom", O_RDONLY|O_CLOEXEC); |
| 1467 | 1475 | if (fd == -1) { |