3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-06-28 08:58:44 +00:00

more fixes for mutexes in shell

This commit is contained in:
Nuno Lopes 2019-06-19 16:42:00 +01:00
parent e603bc1ea1
commit 1827f98851
9 changed files with 25 additions and 63 deletions

View file

@ -32,13 +32,14 @@ Revision History:
#include "tactic/portfolio/smt_strategic_solver.h"
#include "smt/smt_solver.h"
static std::mutex display_stats_mux;
static std::mutex *display_stats_mux = new std::mutex;
extern bool g_display_statistics;
static clock_t g_start_time;
static cmd_context * g_cmd_context = nullptr;
static void display_statistics() {
std::lock_guard<std::mutex> lock(*display_stats_mux);
clock_t end_time = clock();
if (g_cmd_context && g_display_statistics) {
std::cout.flush();
@ -51,17 +52,13 @@ static void display_statistics() {
}
static void on_timeout() {
std::lock_guard<std::mutex> lock(display_stats_mux);
display_statistics();
exit(0);
}
static void STD_CALL on_ctrl_c(int) {
signal (SIGINT, SIG_DFL);
{
std::lock_guard<std::mutex> lock(display_stats_mux);
display_statistics();
}
display_statistics();
raise(SIGINT);
}
@ -97,11 +94,8 @@ unsigned read_smtlib2_commands(char const * file_name) {
}
{
std::lock_guard<std::mutex> lock(display_stats_mux);
display_statistics();
g_cmd_context = nullptr;
}
display_statistics();
g_cmd_context = nullptr;
return result ? 0 : 1;
}