Add a new abstraction, SysConfig for platform independent system

configuration calls. Right now this just contains PreventCoreFiles so that
bugpoint can by platform independent.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16124 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Reid Spencer
2004-08-31 17:43:29 +00:00
parent d19e2901c1
commit 387e5ec502
8 changed files with 200 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
//===- SysConfig.cpp - Generic UNIX System Configuration --------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
// This file was developed by Reid Spencer and is distributed under the
// University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This file defines some functions for managing system configuration on Unix
// systems.
//
//===----------------------------------------------------------------------===//
#include "Unix.h"
#include <sys/resource.h>
namespace llvm {
using namespace sys;
// Some LLVM programs such as bugpoint produce core files as a normal part of
// their operation. To prevent the disk from filling up, this configuration item
// does what's necessary to prevent their generation.
void PreventCoreFiles() {
struct rlimit rlim;
rlim.rlim_cur = rlim.rlim_max = 0;
int res = setrlimit(RLIMIT_CORE, &rlim);
if (res != 0)
ThrowErrno("Can't prevent core file generation");
}
}
// vim: sw=2 smartindent smarttab tw=80 autoindent expandtab