3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-04-22 16:45:32 +00:00

Merged a few fixes for non-posix systems from github.com/Siesh1oo/yosys

(see https://github.com/cliffordwolf/yosys/pull/28)
This commit is contained in:
Clifford Wolf 2014-03-11 14:24:24 +01:00
parent 9992026a8d
commit 91704a7853
11 changed files with 52 additions and 13 deletions

View file

@ -25,7 +25,7 @@
#include <limits.h>
#include <stdint.h>
#include <signal.h>
#include <csignal>
#include <cinttypes>
#include <minisat/core/Solver.h>
@ -170,14 +170,18 @@ contradiction:
#endif
}
sighandler_t old_alarm_sighandler = NULL;
struct sigaction sig_action;
struct sigaction old_sig_action;
int old_alarm_timeout = 0;
if (solverTimeout > 0) {
sig_action.sa_handler = alarmHandler;
sigemptyset(&sig_action.sa_mask);
sig_action.sa_flags = SA_RESTART;
alarmHandlerThis = this;
alarmHandlerTimeout = clock() + solverTimeout*CLOCKS_PER_SEC;
old_alarm_timeout = alarm(0);
old_alarm_sighandler = signal(SIGALRM, alarmHandler);
sigaction(SIGALRM, &sig_action, &old_sig_action);
alarm(1);
}
@ -187,7 +191,7 @@ contradiction:
if (alarmHandlerTimeout == 0)
solverTimoutStatus = true;
alarm(0);
signal(SIGALRM, old_alarm_sighandler);
sigaction(SIGALRM, &old_sig_action, NULL);
alarm(old_alarm_timeout);
}

View file

@ -19,10 +19,11 @@
#include "ezsat.h"
#include <cmath>
#include <algorithm>
#include <cassert>
#include <stdlib.h>
#include <assert.h>
const int ezSAT::TRUE = 1;
const int ezSAT::FALSE = 2;