aboutsummaryrefslogtreecommitdiff
path: root/example
diff options
context:
space:
mode:
Diffstat (limited to 'example')
-rw-r--r--example/test.cc33
1 files changed, 33 insertions, 0 deletions
diff --git a/example/test.cc b/example/test.cc
new file mode 100644
index 0000000..7307bec
--- /dev/null
+++ b/example/test.cc
@@ -0,0 +1,33 @@
+#include "lib/matcha.h"
+
+#include <cassert>
+#include <cstdio>
+
+Thread* gThread1 = nullptr;
+
+void thread1_1() {
+ puts("thread1_1");
+}
+
+void thread1() {
+ puts("start thread1");
+ thread1_1();
+ puts("finish thread1");
+
+ assert(gThread1 != nullptr);
+ yield_from(*gThread1);
+}
+
+int main() {
+ puts("start main thread");
+
+ Thread t(thread1);
+ gThread1 = &t;
+
+ yield_to(t);
+
+ gThread1 = nullptr;
+
+ puts("finish main thread");
+ return 0;
+}