From dfa05a97e083122a788c0ffb5c9e26888fe3dcd1 Mon Sep 17 00:00:00 2001 From: johannst Date: Thu, 17 Sep 2020 00:06:28 +0200 Subject: setup new stack + basic yielding between two stacks --- example/test.cc | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 example/test.cc (limited to 'example') 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 +#include + +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; +} -- cgit v1.2.3