diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2004-12-19 17:59:33 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2004-12-19 17:59:33 +0000 |
commit | fd335687bcd17189a9dbfa1da7033430a837e213 (patch) | |
tree | 72ebee9aded3ed040aef8456f799a46b0386afd4 /include | |
parent | d80e1d580b4f8d3b309e26322fe80fc6877f1a0c (diff) | |
download | external_llvm-fd335687bcd17189a9dbfa1da7033430a837e213.zip external_llvm-fd335687bcd17189a9dbfa1da7033430a837e213.tar.gz external_llvm-fd335687bcd17189a9dbfa1da7033430a837e213.tar.bz2 |
For PR351:
Replace RunProgramWithTimeout with an inline function that calls
sys::Program::ExecuteAndWait. This is now just a convenience function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19037 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/Support/SystemUtils.h | 41 |
1 files changed, 21 insertions, 20 deletions
diff --git a/include/llvm/Support/SystemUtils.h b/include/llvm/Support/SystemUtils.h index 126a54d..bf21f19 100644 --- a/include/llvm/Support/SystemUtils.h +++ b/include/llvm/Support/SystemUtils.h @@ -15,7 +15,7 @@ #ifndef LLVM_SUPPORT_SYSTEMUTILS_H #define LLVM_SUPPORT_SYSTEMUTILS_H -#include "llvm/System/Path.h" +#include "llvm/System/Program.h" namespace llvm { @@ -27,26 +27,27 @@ bool isStandardOutAConsole(); /// being executed. This allows us to find another LLVM tool if it is built into /// the same directory, but that directory is neither the current directory, nor /// in the PATH. If the executable cannot be found, return an empty string. -/// +/// @brief Find a named executable. sys::Path FindExecutable(const std::string &ExeName, - const std::string &ProgramPath); - -/// RunProgramWithTimeout - This function executes the specified program, with -/// the specified null-terminated argument array, with the stdin/out/err fd's -/// redirected, with a timeout specified by the last argument. This terminates -/// the calling program if there is an error executing the specified program. -/// It returns the return value of the program, or -1 if a timeout is detected. -/// -int RunProgramWithTimeout(const std::string &ProgramPath, const char **Args, - const std::string &StdInFile = "", - const std::string &StdOutFile = "", - const std::string &StdErrFile = "", - unsigned NumSeconds = 0); - -/// ExecWait - Execute a program with the given arguments and environment and -/// wait for it to terminate. -/// -int ExecWait (const char * const argv[], const char * const envp[]); + const std::string &ProgramPath); + +/// RunProgramWithTimeout - This function provides an alternate interface to the +/// sys::Program::ExecuteAndWait interface. +/// @see sys:Program::ExecuteAndWait +inline int llvm::RunProgramWithTimeout(const sys::Path &ProgramPath, + const char **Args, + const sys::Path &StdInFile, + const sys::Path &StdOutFile, + const sys::Path &StdErrFile, + unsigned NumSeconds = 0) { + const sys::Path* redirects[3]; + redirects[0] = &StdInFile; + redirects[1] = &StdOutFile; + redirects[2] = &StdErrFile; + + return + sys::Program::ExecuteAndWait(ProgramPath, Args, 0, redirects, NumSeconds); +} } // End llvm namespace |