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:
parent
e603bc1ea1
commit
1827f98851
9 changed files with 25 additions and 63 deletions
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue