forked from OSchip/llvm-project
Revert commit 81144, and add a comment. It caused bugpoint timeouts
not to work any more on linux. llvm-svn: 86481
This commit is contained in:
parent
a837e4db6b
commit
fec62f0ef5
|
@ -121,6 +121,9 @@ static bool RedirectIO(const Path *Path, int FD, std::string* ErrMsg) {
|
|||
return false;
|
||||
}
|
||||
|
||||
static void TimeOutHandler(int Sig) {
|
||||
}
|
||||
|
||||
static void SetMemoryLimits (unsigned size)
|
||||
{
|
||||
#if HAVE_SYS_RESOURCE_H
|
||||
|
@ -231,11 +234,14 @@ Program::Wait(unsigned secondsToWait,
|
|||
return -1;
|
||||
}
|
||||
|
||||
// Install a timeout handler.
|
||||
// Install a timeout handler. The handler itself does nothing, but the simple
|
||||
// fact of having a handler at all causes the wait below to return with EINTR,
|
||||
// unlike if we used SIG_IGN.
|
||||
if (secondsToWait) {
|
||||
memset(&Act, 0, sizeof(Act));
|
||||
Act.sa_handler = SIG_IGN;
|
||||
Act.sa_sigaction = 0;
|
||||
Act.sa_handler = TimeOutHandler;
|
||||
sigemptyset(&Act.sa_mask);
|
||||
Act.sa_flags = 0;
|
||||
sigaction(SIGALRM, &Act, &Old);
|
||||
alarm(secondsToWait);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue