Provide a generic unix implementation of the Process abstraction.
authorReid Spencer <rspencer@reidspencer.com>
Sat, 11 Sep 2004 04:56:56 +0000 (04:56 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Sat, 11 Sep 2004 04:56:56 +0000 (04:56 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16290 91177308-0d34-0410-b5e6-96231b3b80d8

lib/System/Unix/Process.cpp [new file with mode: 0644]
lib/System/Unix/Process.inc [new file with mode: 0644]

diff --git a/lib/System/Unix/Process.cpp b/lib/System/Unix/Process.cpp
new file mode 100644 (file)
index 0000000..bd59511
--- /dev/null
@@ -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 <unistd.h>
+
+//===----------------------------------------------------------------------===//
+//=== 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<unsigned>(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 (file)
index 0000000..bd59511
--- /dev/null
@@ -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 <unistd.h>
+
+//===----------------------------------------------------------------------===//
+//=== 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<unsigned>(page_size);
+}
+
+}
+// vim: sw=2 smartindent smarttab tw=80 autoindent expandtab