From 27dafe1f3e9aa3f6632720b451137e2e88f44280 Mon Sep 17 00:00:00 2001 From: Reid Spencer Date: Sat, 11 Sep 2004 04:56:56 +0000 Subject: [PATCH] Provide a generic unix implementation of the Process abstraction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16290 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/System/Unix/Process.cpp | 34 ++++++++++++++++++++++++++++++++++ lib/System/Unix/Process.inc | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 lib/System/Unix/Process.cpp create mode 100644 lib/System/Unix/Process.inc 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 -- 2.34.1