aboutsummaryrefslogtreecommitdiff
path: root/include/Support/ThreadSupport-NoSupport.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-01-17 19:54:29 +0000
committerChris Lattner <sabre@nondot.org>2004-01-17 19:54:29 +0000
commit440f87eea20f11ea86822816fae965956795d6d3 (patch)
treebe84096b985cf4b719e9e556230c898afc2db9cc /include/Support/ThreadSupport-NoSupport.h
parent64811a3e184a01cd8fde35a91f79e92d7314a63c (diff)
Revision of Brian's threading support library to be a bit more generic and
platform independent. This code is completely untested (but never used), and needs autoconf support for detecting pthreads, but it's a start, and deletes two emails from my inbox. :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10906 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/Support/ThreadSupport-NoSupport.h')
-rw-r--r--include/Support/ThreadSupport-NoSupport.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/include/Support/ThreadSupport-NoSupport.h b/include/Support/ThreadSupport-NoSupport.h
new file mode 100644
index 0000000000..5dc954efab
--- /dev/null
+++ b/include/Support/ThreadSupport-NoSupport.h
@@ -0,0 +1,34 @@
+//===-- Support/ThreadSupport-NoSupport.h - Generic impl --------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines a generic ThreadSupport implementation used when there is
+// no supported threading mechanism on the current system. Users should never
+// #include this file directly!
+//
+//===----------------------------------------------------------------------===//
+
+// Users should never #include this file directly! As such, no include guards
+// are needed.
+
+#ifndef SUPPORT_THREADSUPPORT_H
+#error "Code should not #include Support/ThreadSupport-NoSupport.h directly!"
+#endif
+
+namespace llvm {
+ /// Mutex - This class allows user code to protect variables shared between
+ /// threads. It implements a "recursive" mutex, to simplify user code.
+ ///
+ /// Since there is no platform support for _creating threads_, the non-thread
+ /// implementation of this class is a noop.
+ ///
+ struct Mutex {
+ void acquire () {}
+ void release () {}
+ };
+}