From 409f77642d059ba3c2cdc1fb0dbf75a6bc07c7b0 Mon Sep 17 00:00:00 2001
From: a33-rogers <alex4.rogers@live.uwe.ac.ukmake>
Date: Mon, 6 Jan 2025 14:09:57 +0000
Subject: [PATCH] this should work probs

---
 Task 1/fiber_program | Bin 0 -> 17304 bytes
 Task 1/main.cpp      |  25 +++++++++++++++++++++++++
 context              |   1 +
 3 files changed, 26 insertions(+)
 create mode 100755 Task 1/fiber_program
 create mode 100644 Task 1/main.cpp
 create mode 160000 context

diff --git a/Task 1/fiber_program b/Task 1/fiber_program
new file mode 100755
index 0000000000000000000000000000000000000000..9f0dc2d806f68a13138658cb037e44f619fa29a5
GIT binary patch
literal 17304
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
NJ*aF1^AH5OegN*c;8y?u

literal 0
HcmV?d00001

diff --git a/Task 1/main.cpp b/Task 1/main.cpp
new file mode 100644
index 0000000..5b676d1
--- /dev/null
+++ b/Task 1/main.cpp	
@@ -0,0 +1,25 @@
+#include <iostream>
+#include "./context.hpp"  // Assuming this is the provided header
+
+volatile int x = 0;  // Prevent compiler optimization
+
+int main() {
+    // Step 1: Set x to 0
+    x = 0;
+
+    // Step 2: Set c to get_context
+    Context c;
+    get_context(&c);
+
+    // Step 3: Output "a message"
+    std::cout << "a message" << std::endl;
+
+    // Step 4: Check if x == 0 and set x to x + 1 if true
+    if (x == 0) {
+        x = x + 1;  // Step 5: Set x to x PLUS 1
+        // Step 6: Call set_context with c to switch back to the saved context
+        set_context(&c);
+    }
+
+    return 0;
+}
diff --git a/context b/context
new file mode 160000
index 0000000..4d1a25c
--- /dev/null
+++ b/context
@@ -0,0 +1 @@
+Subproject commit 4d1a25c67a7215d32a18719c8cdbe2ad70582458
-- 
GitLab