- const auto read_ret = lttng_read(urandom.fd(), &seed, sizeof(seed));
- if (read_ret != sizeof(seed)) {
- LTTNG_THROW_POSIX(fmt::format("Failed to read from `/dev/urandom`: size={}",
- sizeof(seed)),
- errno);
+ try {
+ urandom.read(&seed, sizeof(seed));
+ } catch (const std::exception& e) {
+ LTTNG_THROW_RANDOM_PRODUCTION_ERROR(fmt::format(
+ "Failed to read from `/dev/urandom`: size={}: {}", sizeof(seed), e.what()));