fix cpp thread class error

This commit is contained in:
tyustli 2019-06-24 15:59:26 +08:00
parent c574c49b2f
commit a559179e6f
3 changed files with 20 additions and 3 deletions

View File

@ -14,7 +14,7 @@ Thread::Thread(rt_uint32_t stack_size,
rt_uint8_t priority, rt_uint8_t priority,
rt_uint32_t tick, rt_uint32_t tick,
const char *name) const char *name)
: _entry(RT_NULL), _param(RT_NULL), started(false) : _entry(RT_NULL), _param(RT_NULL), started(false)
{ {
rt_event_init(&_event, name, 0); rt_event_init(&_event, name, 0);
@ -32,12 +32,12 @@ Thread::Thread(void (*entry)(void *p),
rt_uint8_t priority, rt_uint8_t priority,
rt_uint32_t tick, rt_uint32_t tick,
const char *name) const char *name)
: _entry(RT_NULL), _param(p), started(false) : _entry(entry), _param(p), started(false)
{ {
rt_event_init(&_event, name, 0); rt_event_init(&_event, name, 0);
_thread = rt_thread_create(name, _thread = rt_thread_create(name,
(thread_func_t)func, (thread_func_t)entry,
this, this,
stack_size, stack_size,
priority, priority,
@ -46,6 +46,7 @@ Thread::Thread(void (*entry)(void *p),
Thread::~Thread() Thread::~Thread()
{ {
rt_event_detach(&_event);
rt_thread_delete(_thread); rt_thread_delete(_thread);
} }

View File

@ -15,6 +15,10 @@
#include "utest_log.h" #include "utest_log.h"
#include "utest_assert.h" #include "utest_assert.h"
#ifdef __cplusplus
extern "C" {
#endif
/** /**
* utest_error * utest_error
* *
@ -157,4 +161,8 @@ utest_t utest_handle_get(void);
utest_unit_run(test_unit_func, #test_unit_func); \ utest_unit_run(test_unit_func, #test_unit_func); \
if(utest_handle_get()->failed_num != 0) return; if(utest_handle_get()->failed_num != 0) return;
#ifdef __cplusplus
}
#endif
#endif /* __UTEST_H__ */ #endif /* __UTEST_H__ */

View File

@ -14,6 +14,10 @@
#include "utest.h" #include "utest.h"
#include <rtthread.h> #include <rtthread.h>
#ifdef __cplusplus
extern "C" {
#endif
/* No need for the user to use this function directly */ /* No need for the user to use this function directly */
void utest_assert(int value, const char *file, int line, const char *func, const char *msg); void utest_assert(int value, const char *file, int line, const char *func, const char *msg);
@ -61,4 +65,8 @@ void utest_assert_buf(const char *a, const char *b, rt_size_t sz, rt_bool_t equa
#define uassert_in_range(value, min, max) __utest_assert(((value >= min) && (value <= max)), "(" #value ") not in range("#min","#max")") #define uassert_in_range(value, min, max) __utest_assert(((value >= min) && (value <= max)), "(" #value ") not in range("#min","#max")")
#define uassert_not_in_range(value, min, max) __utest_assert(!((value >= min) && (value <= max)), "(" #value ") in range("#min","#max")") #define uassert_not_in_range(value, min, max) __utest_assert(!((value >= min) && (value <= max)), "(" #value ") in range("#min","#max")")
#ifdef __cplusplus
}
#endif
#endif /* __UTEST_ASSERT_H__ */ #endif /* __UTEST_ASSERT_H__ */