From adcc51666865020347d364f7b3cad8a622124f7a Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Sun, 21 Feb 2016 08:26:57 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@8918 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/various/cpp_wrappers/ch.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'os/various') diff --git a/os/various/cpp_wrappers/ch.cpp b/os/various/cpp_wrappers/ch.cpp index f827d285a..bb698d675 100644 --- a/os/various/cpp_wrappers/ch.cpp +++ b/os/various/cpp_wrappers/ch.cpp @@ -78,13 +78,15 @@ namespace chibios_rt { chSysHalt("invoked unimplemented method stop()"); } +#if CH_CFG_USE_EVENTS void ThreadReference::requestTerminate(void) { chDbgAssert(thread_ref != NULL, "not referenced"); - chThdTerminate(thread_ref); + chEvtSignal(thread_ref, CH_EVENT_TERMINATE); } +#endif #if CH_CFG_USE_WAITEXIT msg_t ThreadReference::wait(void) { @@ -196,10 +198,12 @@ namespace chibios_rt { chThdExitS(msg); } +#if CH_CFG_USE_EVENTS bool BaseThread::shouldTerminate(void) { - return chThdShouldTerminateX(); + return (chEvtGetEventsX() & CH_EVENT_TERMINATE) != 0; } +#endif void BaseThread::sleep(systime_t interval){ -- cgit v1.2.3