Giacomo Travaglini has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/18648

Change subject: base: Provide a getter for Fiber::started boolean variable
......................................................................

base: Provide a getter for Fiber::started boolean variable

This can be used to check if the fiber has started its execution.

Change-Id: Ie9222b8076756363c9f82c1333c76a352bcaf817
Signed-off-by: Giacomo Travaglini <giacomo.travagl...@arm.com>
---
M src/base/fiber.cc
M src/base/fiber.hh
2 files changed, 8 insertions(+), 4 deletions(-)



diff --git a/src/base/fiber.cc b/src/base/fiber.cc
index 177459a..f4496b1 100644
--- a/src/base/fiber.cc
+++ b/src/base/fiber.cc
@@ -88,7 +88,7 @@

 Fiber::Fiber(Fiber *link, size_t stack_size) :
     link(link), stack(nullptr), stackSize(stack_size), guardPage(nullptr),
-    guardPageSize(sysconf(_SC_PAGE_SIZE)), started(false), _finished(false)
+ guardPageSize(sysconf(_SC_PAGE_SIZE)), _started(false), _finished(false)
 {
     if (stack_size) {
         guardPage = mmap(nullptr, guardPageSize + stack_size,
@@ -170,7 +170,7 @@
     if (_currentFiber == this)
         return;

-    if (!started)
+    if (!_started)
         createContext();

     // Switch out of the current Fiber's context and this one's in.
diff --git a/src/base/fiber.hh b/src/base/fiber.hh
index 4d95e03..ed95050 100644
--- a/src/base/fiber.hh
+++ b/src/base/fiber.hh
@@ -82,6 +82,10 @@
     ///
     bool finished() const { return _finished; };

+    /// Returns whether the "main" function of this fiber has started.
+    ///
+    bool started() const { return _started; };
+
     /// Get a pointer to the current running Fiber.
     ///
     static Fiber *currentFiber();
@@ -96,7 +100,7 @@
     /// mark itself as finished and switch to its link fiber.
     virtual void main() = 0;

-    void setStarted() { started = true; }
+    void setStarted() { _started = true; }

   private:
     static void entryTrampoline();
@@ -114,7 +118,7 @@
     unsigned valgrindStackId;
 #endif

-    bool started;
+    bool _started;
     bool _finished;
     void createContext();
 };

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/18648
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-Change-Id: Ie9222b8076756363c9f82c1333c76a352bcaf817
Gerrit-Change-Number: 18648
Gerrit-PatchSet: 1
Gerrit-Owner: Giacomo Travaglini <giacomo.travagl...@arm.com>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to