about summary refs log tree commit diff
path: root/src/rt/sync/rust_thread.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/rt/sync/rust_thread.h')
-rw-r--r--src/rt/sync/rust_thread.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/rt/sync/rust_thread.h b/src/rt/sync/rust_thread.h
new file mode 100644
index 00000000000..1c27d1b6597
--- /dev/null
+++ b/src/rt/sync/rust_thread.h
@@ -0,0 +1,26 @@
+#ifndef RUST_THREAD_H
+#define RUST_THREAD_H
+
+/**
+ * Thread utility class. Derive and implement your own run() method.
+ */
+class rust_thread {
+public:
+#if defined(__WIN32__)
+    HANDLE thread;
+#else
+    pthread_t thread;
+#endif
+    rust_thread();
+    void start();
+
+    virtual void run() {
+        return;
+    }
+
+    void join();
+
+    virtual ~rust_thread() {}   // quiet the compiler
+};
+
+#endif /* RUST_THREAD_H */