fortuna: add mtx_{accu,p_pools}, locks
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
3b537e1e26
commit
56d9631f84
@ -189,9 +189,12 @@ auto Fortuna::seed_file_manager_service() -> void {
|
||||
p_ul.unlock();
|
||||
auto right_now{fortuna::Util::current_time()};
|
||||
std::unique_lock<std::mutex> mtx_l(mtx);
|
||||
std::unique_lock<std::mutex> a_ul(accu_mtx);
|
||||
std::unique_lock<std::mutex> a_ul(mtx_accu);
|
||||
|
||||
assert(this->accumulator._p_pools_equal(this->R._p_pools));
|
||||
|
||||
SeedFileManager sfm(this->accumulator);
|
||||
|
||||
a_ul.unlock();
|
||||
mtx_l.unlock();
|
||||
|
||||
|
@ -21,7 +21,8 @@ public:
|
||||
static constexpr const char NUM_OF_POOLS{32};
|
||||
std::mutex mtx;
|
||||
std::mutex mtx_random_data;
|
||||
std::mutex accu_mtx;
|
||||
std::mutex mtx_p_pools;
|
||||
std::mutex mtx_accu;
|
||||
std::mutex print_mtx;
|
||||
std::thread th_gen;
|
||||
std::thread th_accu;
|
||||
@ -53,8 +54,10 @@ public:
|
||||
// p. 153
|
||||
set_reseed_ctr_to_null();
|
||||
std::unique_lock<std::mutex> p_ul(print_mtx);
|
||||
std::unique_lock<std::mutex> a_ul(accu_mtx);
|
||||
std::unique_lock<std::mutex> a_ul(mtx_accu, std::defer_lock);
|
||||
std::unique_lock<std::mutex> pp_ul(mtx_p_pools, std::defer_lock);
|
||||
try {
|
||||
std::lock(a_ul, pp_ul);
|
||||
R.initialize_pools();
|
||||
fmt::print("[i] fortuna: pools initialized\n");
|
||||
p_ul.unlock();
|
||||
|
Reference in New Issue
Block a user