mirror of
				https://github.com/Z3Prover/z3
				synced 2025-10-30 19:22:28 +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