#define LLVM_SYSTEM_PROGRAM_H
#include "llvm/System/Path.h"
-#include "llvm/System/IncludeFile.h"
-#include <vector>
namespace llvm {
namespace sys {
/// called then a std::string is thrown.
/// @returns an integer result code indicating the status of the program.
/// A zero or positive value indicates the result code of the program. A
- /// negative value is the signal number on which it terminated.
+ /// negative value is the signal number on which it terminated.
/// @see FindProgrambyName
/// @brief Executes the program with the given set of \p args.
static int ExecuteAndWait(
- const Path& path, ///< sys::Path object providing the path of the
- ///< program to be executed. It is presumed this is the result of
+ const Path& path, ///< sys::Path object providing the path of the
+ ///< program to be executed. It is presumed this is the result of
///< the FindProgramByName method.
const char** args, ///< A vector of strings that are passed to the
///< program. The first element should be the name of the program.
///< should have a size of at least three. If the pointer in the array
///< are not null, then the inferior process's stdin(0), stdout(1),
///< and stderr(2) will be redirected to the corresponding Paths.
+ ///< When an empty Path is passed in, the corresponding file
+ ///< descriptor will be disconnected (ie, /dev/null'd) in a portable
+ ///< way.
unsigned secondsToWait = 0, ///< If non-zero, this specifies the amount
///< of time to wait for the child process to exit. If the time
///< expires, the child is killed and this call returns. If zero,
///< it doesn't.
unsigned memoryLimit = 0, ///< If non-zero, this specifies max. amount
///< of memory can be allocated by process. If memory usage will be
- ///< higher limit, the child is killed and this call returns. If zero -
- ///< no memory limit.
+ ///< higher limit, the child is killed and this call returns. If zero
+ ///< - no memory limit.
std::string* ErrMsg = 0 ///< If non-zero, provides a pointer to a string
- ///< instance in which error messages will be returned. If the string
+ ///< instance in which error messages will be returned. If the string
///< is non-empty upon return an error occurred while invoking the
///< program.
);
}
}
-FORCE_DEFINING_FILE_TO_BE_LINKED(SystemProgram)
-
#endif