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:
parent
9992026a8d
commit
91704a7853
11 changed files with 52 additions and 13 deletions
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue