3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-18 09:12:16 +00:00

fix crash on Mac due to different destruction order of globals

the mutex in memory_manager has to be destroyed after all mem deallocations happen
This commit is contained in:
Nuno Lopes 2019-06-13 11:22:18 +01:00
parent 2bee9a062f
commit cf3e649462
12 changed files with 80 additions and 120 deletions

View file

@ -22,7 +22,6 @@ Notes:
#include "util/vector.h"
#include "util/z3_exception.h"
#include "util/util.h"
#include "util/mutex.h"
class prime_generator_exception : public default_exception {
public:
@ -36,10 +35,8 @@ class prime_generator {
svector<uint64_t> m_primes;
void process_next_k_numbers(uint64_t k);
public:
mutex *m_mux;
prime_generator();
~prime_generator();
uint64_t operator()(unsigned idx);
void initialize();
void finalize();
};
@ -50,8 +47,10 @@ class prime_iterator {
public:
prime_iterator(prime_generator * g = nullptr);
uint64_t next();
static void initialize();
static void finalize();
/*
ADD_INITIALIZER('prime_iterator::initialize();')
ADD_FINALIZER('prime_iterator::finalize();')
*/
};