3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-22 16:45:31 +00:00

Add an option "ctrl_c" that can be used to disable Ctrl-C signal handling

Add this option, so that the z3 library can be used in programs that do
signal handling on their own.

Signed-off-by: Mikulas Patocka <mikulas@twibright.com>
This commit is contained in:
Mikulas Patocka 2025-04-06 19:11:45 +02:00
parent 95d90a7be5
commit a012953985
2 changed files with 4 additions and 0 deletions

View file

@ -157,6 +157,7 @@ void context_params::updt_params(params_ref const & p) {
void context_params::collect_param_descrs(param_descrs & d) {
insert_rlimit(d);
insert_timeout(d);
insert_ctrl_c(d);
d.insert("well_sorted_check", CPK_BOOL, "type checker", "false");
d.insert("type_check", CPK_BOOL, "type checker (alias for well_sorted_check)", "true");
d.insert("auto_config", CPK_BOOL, "use heuristics to automatically select solver and configure it", "true");

View file

@ -20,6 +20,7 @@ Revision History:
#include <signal.h>
#include <cstring>
#include <mutex>
#include "util/gparams.h"
#include "util/scoped_ctrl_c.h"
#ifdef _WINDOWS
@ -106,6 +107,8 @@ scoped_ctrl_c::scoped_ctrl_c(event_handler & eh, bool once, bool enabled):
m_first(true),
m_once(once),
m_enabled(enabled) {
if (gparams::get_value("ctrl_c") == "false")
m_enabled = false;
if (m_enabled) {
signal_lock();
active_contexts.push_back(this);