diff --git a/lib/System/Unix/Process.cpp b/lib/System/Unix/Process.cpp new file mode 100644 index 00000000000..bd595110889 --- /dev/null +++ b/lib/System/Unix/Process.cpp @@ -0,0 +1,34 @@ +//===- Unix/Process.cpp - Unix Process Implementation --------- -*- 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 provides the generic Unix implementation of the Process class. +// +//===----------------------------------------------------------------------===// + +#include + +//===----------------------------------------------------------------------===// +//=== WARNING: Implementation here must contain only generic UNIX code that +//=== is guaranteed to work on *all* UNIX variants. +//===----------------------------------------------------------------------===// + +namespace llvm { +using namespace sys; + +unsigned +Process::GetPageSize() { + // NOTE: The getpagesize function doesn't exist in POSIX 1003.1 and is + // "deprecated" in SUSv2. Platforms including this implementation should + // consider sysconf(_SC_PAGE_SIZE) if its available. + static const int page_size = getpagesize(); + return static_cast(page_size); +} + +} +// vim: sw=2 smartindent smarttab tw=80 autoindent expandtab diff --git a/lib/System/Unix/Process.inc b/lib/System/Unix/Process.inc new file mode 100644 index 00000000000..bd595110889 --- /dev/null +++ b/lib/System/Unix/Process.inc @@ -0,0 +1,34 @@ +//===- Unix/Process.cpp - Unix Process Implementation --------- -*- 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 provides the generic Unix implementation of the Process class. +// +//===----------------------------------------------------------------------===// + +#include + +//===----------------------------------------------------------------------===// +//=== WARNING: Implementation here must contain only generic UNIX code that +//=== is guaranteed to work on *all* UNIX variants. +//===----------------------------------------------------------------------===// + +namespace llvm { +using namespace sys; + +unsigned +Process::GetPageSize() { + // NOTE: The getpagesize function doesn't exist in POSIX 1003.1 and is + // "deprecated" in SUSv2. Platforms including this implementation should + // consider sysconf(_SC_PAGE_SIZE) if its available. + static const int page_size = getpagesize(); + return static_cast(page_size); +} + +} +// vim: sw=2 smartindent smarttab tw=80 autoindent expandtab