From aef0393cb74bbfb2b44ebae46eaa3229519209b7 Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Sat, 1 Aug 2009 04:03:05 +0000 Subject: Avoid failing if waitpid fails with EINTR, patch by Vladimir Kuznetsov. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@77770 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Solver/Solver.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'lib/Solver') diff --git a/lib/Solver/Solver.cpp b/lib/Solver/Solver.cpp index abff5743..abe88db7 100644 --- a/lib/Solver/Solver.cpp +++ b/lib/Solver/Solver.cpp @@ -28,6 +28,7 @@ #include #include +#include #include #include #include @@ -611,9 +612,13 @@ static bool runAndGetCexForked(::VC vc, _exit(res); } else { int status; - int res = waitpid(pid, &status, 0); + pid_t res; + + do { + res = waitpid(pid, &status, 0); + } while (res < 0 && errno == EINTR); - if (res<0) { + if (res < 0) { fprintf(stderr, "error: waitpid() for STP failed"); return false; } -- cgit 1.4.1