mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 17:15:31 +00:00
fix #3169 - set cancellation timeout and limit during push. Also expose internalization outside of scope that disables cancellation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
7d976e4f4d
commit
f501380e89
6 changed files with 25 additions and 10 deletions
|
@ -2886,12 +2886,12 @@ namespace smt {
|
|||
}
|
||||
|
||||
void context::push() {
|
||||
TRACE("unit_subsumption_bug", display(tout << "context::push()\n"););
|
||||
scoped_suspend_rlimit _suspend_cancel(m.limit());
|
||||
TRACE("unit_subsumption_bug", display(tout << "context::push()\n"););
|
||||
pop_to_base_lvl();
|
||||
setup_context(false);
|
||||
bool was_consistent = !inconsistent();
|
||||
internalize_assertions(); // internalize assertions before invoking m_asserted_formulas.push_scope
|
||||
scoped_suspend_rlimit _suspend_cancel(m.limit());
|
||||
propagate();
|
||||
if (was_consistent && inconsistent()) {
|
||||
// logical context became inconsistent during user PUSH
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue