diff --git a/maxscale-system-test/mysqlmon_failover_stress.cpp b/maxscale-system-test/mysqlmon_failover_stress.cpp index 0c3c8ec73..bdd1c3d03 100755 --- a/maxscale-system-test/mysqlmon_failover_stress.cpp +++ b/maxscale-system-test/mysqlmon_failover_stress.cpp @@ -17,6 +17,7 @@ #include #include #include +#include #include "testconnections.h" #include "fail_switch_rejoin_common.cpp" @@ -105,15 +106,8 @@ private: : m_id(id) , m_verbose(verbose) , m_value(1) + , m_rand_dist(0.0, 1.0) { - ss_debug(int rv); - - unsigned int seed = (time(NULL) << m_id); - ss_debug(rv =) initstate_r(seed, m_initstate, sizeof(m_initstate), &m_random_data); - ss_dassert(rv == 0); - - ss_debug(rv=) srandom_r(seed, &m_random_data); - ss_dassert(rv == 0); } enum action_t @@ -234,11 +228,7 @@ private: double random_decimal_fraction() const { - int32_t r; - ss_debug(int rv=) random_r(&m_random_data, &r); - ss_dassert(rv == 0); - - return double(r) / RAND_MAX; + return m_rand_dist(m_rand_gen); } void run(const char* zHost, int port, const char* zUser, const char* zPassword) @@ -375,8 +365,8 @@ private: size_t m_id; bool m_verbose; size_t m_value; - char m_initstate[INITSTATE_SIZE]; - mutable struct random_data m_random_data; + mutable std::mt19937 m_rand_gen; + mutable std::uniform_real_distribution m_rand_dist; static size_t s_nClients; static size_t s_nRows; diff --git a/maxscale-system-test/mysqlmon_switchover_stress.cpp b/maxscale-system-test/mysqlmon_switchover_stress.cpp index 10919987c..d781bc0ca 100644 --- a/maxscale-system-test/mysqlmon_switchover_stress.cpp +++ b/maxscale-system-test/mysqlmon_switchover_stress.cpp @@ -17,6 +17,7 @@ #include #include #include +#include #include "testconnections.h" #include "fail_switch_rejoin_common.cpp" @@ -108,15 +109,8 @@ private: : m_id(id) , m_verbose(verbose) , m_value(1) + , m_rand_dist(0.0, 1.0) { - ss_debug(int rv); - - unsigned int seed = (time(NULL) << m_id); - ss_debug(rv =) initstate_r(seed, m_initstate, sizeof(m_initstate), &m_random_data); - ss_dassert(rv == 0); - - ss_debug(rv=) srandom_r(seed, &m_random_data); - ss_dassert(rv == 0); } enum action_t @@ -237,11 +231,7 @@ private: double random_decimal_fraction() const { - int32_t r; - ss_debug(int rv=) random_r(&m_random_data, &r); - ss_dassert(rv == 0); - - return double(r) / RAND_MAX; + return m_rand_dist(m_rand_gen); } void run(const char* zHost, int port, const char* zUser, const char* zPassword) @@ -378,8 +368,8 @@ private: size_t m_id; bool m_verbose; size_t m_value; - char m_initstate[INITSTATE_SIZE]; - mutable struct random_data m_random_data; + mutable std::mt19937 m_rand_gen; + mutable std::uniform_real_distribution m_rand_dist; static size_t s_nClients; static size_t s_nRows;