diff --git a/include/sta/rtos/thread.hpp b/include/sta/rtos/thread.hpp index 1e4d2b7..0013ccb 100644 --- a/include/sta/rtos/thread.hpp +++ b/include/sta/rtos/thread.hpp @@ -105,12 +105,17 @@ namespace sta */ void requestTermination(); + /** + * @brief Clear the termination request flag for this thread. + */ + void deleteTerminationRequest(); + /** * @brief Resets the terminate bool to false. * * @return Returns the previous value of this variable. */ - bool resetTerminationRequest(); + bool isTerminationRequested(); /** * @brief Forcibly terminate thread. diff --git a/src/thread.cpp b/src/thread.cpp index 7e88251..3b1927b 100644 --- a/src/thread.cpp +++ b/src/thread.cpp @@ -8,11 +8,13 @@ namespace sta { RtosThread::RtosThread() - : handle_(nullptr) + : handle_(nullptr), + terminate_{false} {} RtosThread::RtosThread(const Handle & handle) - : handle_{handle} + : handle_{handle}, + terminate_{false} {} @@ -59,16 +61,17 @@ namespace sta void RtosThread::requestTermination() { - // sysNotify(STA_RTOS_THREAD_FLAG_TERMINATE); terminate_ = true; } - bool RtosThread::resetTerminationRequest() + void RtosThread::deleteTerminationRequest() { - bool temp = terminate_; terminate_ = false; + } - return temp; + bool RtosThread::isTerminationRequested() + { + return terminate_; } void RtosThread::terminate()