mirror of
https://github.com/Z3Prover/z3
synced 2025-08-11 13:40:52 +00:00
fix issues #581: nested timeouts canceled each-other
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
a020b13f10
commit
e29adbf304
12 changed files with 96 additions and 87 deletions
|
@ -22,13 +22,13 @@ Revision History:
|
|||
#include "vector.h"
|
||||
|
||||
class reslimit {
|
||||
volatile bool m_cancel;
|
||||
volatile unsigned m_cancel;
|
||||
uint64 m_count;
|
||||
uint64 m_limit;
|
||||
svector<uint64> m_limits;
|
||||
ptr_vector<reslimit> m_children;
|
||||
|
||||
void set_cancel(bool f);
|
||||
void set_cancel(unsigned f);
|
||||
|
||||
public:
|
||||
reslimit();
|
||||
|
@ -42,10 +42,13 @@ public:
|
|||
uint64 count() const;
|
||||
|
||||
|
||||
bool get_cancel_flag() const { return m_cancel; }
|
||||
bool get_cancel_flag() const { return m_cancel > 0; }
|
||||
char const* get_cancel_msg() const;
|
||||
void cancel();
|
||||
void reset_cancel();
|
||||
|
||||
void inc_cancel();
|
||||
void dec_cancel();
|
||||
};
|
||||
|
||||
class scoped_rlimit {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue