diff options
| author | Man, Jianting (Meco) <[email protected]> | 2022-03-25 11:07:18 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2022-03-25 23:07:18 +0800 |
| commit | a514b3bd16e4f21202cc001d9294ac2c2f206c3d (patch) | |
| tree | b7663d60d1a5a8f34a83b3ee3625b6c97097718a /components/cplusplus/cxx_Thread.cpp | |
| parent | 851d16b18f0448ee83e069edd5aaa3998e00e284 (diff) | |
[components][kconfig] 整理Kconfig目录名称和结构 (#5698)
Diffstat (limited to 'components/cplusplus/cxx_Thread.cpp')
| -rw-r--r-- | components/cplusplus/cxx_Thread.cpp | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/components/cplusplus/cxx_Thread.cpp b/components/cplusplus/cxx_Thread.cpp deleted file mode 100644 index f3484bb1f4..0000000000 --- a/components/cplusplus/cxx_Thread.cpp +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - */ - -#include "cxx_thread.h" - -using namespace rtthread; - -Thread::Thread(rt_uint32_t stack_size, - rt_uint8_t priority, - rt_uint32_t tick, - const char *name) - : _entry(RT_NULL), _param(RT_NULL), started(false) -{ - rt_event_init(&_event, name, 0); - - _thread = rt_thread_create(name, - (thread_func_t)func, - this, - stack_size, - priority, - tick); -} - -Thread::Thread(void (*entry)(void *p), - void *p, - rt_uint32_t stack_size, - rt_uint8_t priority, - rt_uint32_t tick, - const char *name) - : _entry(entry), _param(p), started(false) -{ - rt_event_init(&_event, name, 0); - - _thread = rt_thread_create(name, - (thread_func_t)func, - this, - stack_size, - priority, - tick); -} - -Thread::~Thread() -{ - rt_event_detach(&_event); - rt_thread_delete(_thread); -} - -bool Thread::start() -{ - if (rt_thread_startup(_thread) == RT_EOK) - { - started = true; - } - - return started; -} - -void Thread::sleep(int32_t millisec) -{ - rt_int32_t tick; - - if (millisec < 0) - tick = 1; - else - tick = rt_tick_from_millisecond(millisec); - - rt_thread_delay(tick); -} - -void Thread::func(Thread *pThis) -{ - if (pThis->_entry != RT_NULL) - { - pThis->_entry(pThis->_param); - } - else - { - pThis->run(pThis->_param); - } - - rt_event_send(&pThis->_event, 1); -} - -void Thread::run(void *parameter) -{ - /* please overload this method */ -} - -rt_err_t Thread::wait(int32_t millisec) -{ - return join(millisec); -} - -rt_err_t Thread::join(int32_t millisec) -{ - if (started) - { - rt_int32_t tick; - - if (millisec < 0) - tick = -1; - else - tick = rt_tick_from_millisecond(millisec); - - return rt_event_recv(&_event, 1, RT_EVENT_FLAG_OR | RT_EVENT_FLAG_CLEAR, tick, RT_NULL); - } - else - { - return -RT_ENOSYS; - } -} |
