if (numVars > solutionsize) {
if (solution != NULL)
free(solution);
- solution = (int *) malloc(numVars*sizeof(int));
+ solution = (int *) malloc((numVars+1)*sizeof(int));
+ solution[0] = 0;
}
- readSolver(solution, numVars * sizeof(int));
+ readSolver(&solution[1], numVars * sizeof(int));
}
return result;
}
(dup2(from_pipe[1], IS_OUT_FD) == -1)) {
fprintf(stderr, "Error duplicating pipes\n");
}
- setsid();
execlp(SATSOLVER, SATSOLVER, NULL);
fprintf(stderr, "execlp Failed\n");
} else {
close(from_solver_fd);
//Stop the solver
if (solver_pid > 0)
- killpg(solver_pid, SIGKILL);
+ kill(solver_pid, SIGKILL);
}
void IncrementalSolver::flushBuffer() {