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:
parent
2bee9a062f
commit
cf3e649462
12 changed files with 80 additions and 120 deletions
|
@ -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();')
|
||||
*/
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue