schedule: add is_sleep_set(thread)
authorBrian Norris <banorris@uci.edu>
Thu, 6 Dec 2012 23:30:24 +0000 (15:30 -0800)
committerBrian Norris <banorris@uci.edu>
Thu, 6 Dec 2012 23:31:16 +0000 (15:31 -0800)
schedule.cc
schedule.h

index 8e52d845cec555453ddc6926b087df0006ca3fa4..64cfe99d53d7c7e7242aa5b50a0506da9ee3fb59 100644 (file)
@@ -60,6 +60,16 @@ bool Scheduler::is_enabled(thread_id_t tid) const
        return (i >= enabled_len) ? false : (enabled[i] != THREAD_DISABLED);
 }
 
+/**
+ * @brief Check if a Thread is currently in the sleep set
+ * @param t The Thread to check
+ * @return True if the Thread is currently enabled
+ */
+bool Scheduler::is_sleep_set(const Thread *t) const
+{
+       return get_enabled(t) == THREAD_SLEEP_SET;
+}
+
 enabled_type_t Scheduler::get_enabled(const Thread *t) const
 {
        int id = id_to_int(t->get_id());
index d4780c884d672afd4b3eabc4e1fc22aaf30be289..035ee78caadcedfc3119939a8f29028c5e269de7 100644 (file)
@@ -37,6 +37,7 @@ public:
        void update_sleep_set(Node *n);
        bool is_enabled(const Thread *t) const;
        bool is_enabled(thread_id_t tid) const;
+       bool is_sleep_set(const Thread *t) const;
 
        SNAPSHOTALLOC
 private: