#include <errno.h>
#include <math.h>
#include <fcntl.h>
+#include <random>
#include "include/intarith.h"
#include "include/krbd.h"
/*
* random
*/
+std::mt19937 random_generator;
-#define RND_STATE_LEN 256
-char rnd_state[RND_STATE_LEN];
-struct random_data rnd_data;
-
-int32_t
+uint_fast32_t
get_random(void)
{
- int32_t val;
-
- if (random_r(&rnd_data, &val) < 0) {
- prterr("random_r");
- exit(1);
- }
-
- return val;
+ return random_generator();
}
/*
signal(SIGUSR1, cleanup);
signal(SIGUSR2, cleanup);
- if (initstate_r(seed, rnd_state, RND_STATE_LEN, &rnd_data) < 0) {
- prterr("initstate_r");
- exit(1);
- }
- if (setstate_r(rnd_state, &rnd_data) < 0) {
- prterr("setstate_r");
- exit(1);
- }
+ random_generator.seed(seed);
ret = create_image();
if (ret < 0) {