11/*
2- * Copyright 2017-2021 NXP
2+ * Copyright 2017-2023 NXP
33 * Copyright 2021 ACRIOS Systems s.r.o.
44 * All rights reserved.
55 *
@@ -18,14 +18,14 @@ using namespace erpc;
1818// //////////////////////////////////////////////////////////////////////////////
1919
2020Thread::Thread (const char *name) :
21- m_name(name), m_entry(0 ), m_arg(0 ), m_stackSize(0 ), m_priority(0 ), m_thread(0 ), m_stack(0 )
21+ m_name(name), m_entry(0 ), m_arg(0 ), m_stackSize(0 ), m_priority(0 ), m_thread(), m_stack(0 )
2222{
2323}
2424
2525Thread::Thread (thread_entry_t entry, uint32_t priority, uint32_t stackSize, const char *name,
2626 thread_stack_pointer stackPtr) :
2727m_name(name),
28- m_entry(entry), m_arg(0 ), m_stackSize(stackSize), m_priority(priority), m_thread(0 ), m_stack(0 )
28+ m_entry(entry), m_arg(0 ), m_stackSize(stackSize), m_priority(priority), m_thread(), m_stack(0 )
2929{
3030}
3131
@@ -44,12 +44,13 @@ void Thread::start(void *arg)
4444 m_arg = arg;
4545
4646 erpc_assert ((m_stack != NULL ) && (" Set stack address" != NULL ));
47- k_thread_create (&m_thread, m_stack, m_stackSize, threadEntryPointStub, this , NULL , NULL , m_priority, 0 , K_NO_WAIT);
47+ m_thread_id = k_thread_create (&m_thread, m_stack, m_stackSize, threadEntryPointStub, this , NULL , NULL , m_priority,
48+ 0 , K_NO_WAIT);
4849}
4950
5051bool Thread::operator ==(Thread &o)
5152{
52- return m_thread == o.m_thread ;
53+ return & m_thread == & o.m_thread ;
5354}
5455
5556Thread *Thread::getCurrentThread (void )
@@ -59,7 +60,7 @@ Thread *Thread::getCurrentThread(void)
5960
6061void Thread::sleep (uint32_t usecs)
6162{
62- k_sleep (usecs / 1000 );
63+ k_sleep (K_USEC ( usecs) );
6364}
6465
6566void Thread::threadEntryPoint (void )
@@ -70,7 +71,7 @@ void Thread::threadEntryPoint(void)
7071 }
7172}
7273
73- void * Thread::threadEntryPointStub (void *arg1, void *arg2, void *arg3)
74+ void Thread::threadEntryPointStub (void *arg1, void *arg2, void *arg3)
7475{
7576 Thread *_this = reinterpret_cast <Thread *>(arg1);
7677 erpc_assert ((_this != NULL ) && (" Reinterpreting 'void *arg1' to 'Thread *' failed." != NULL ));
@@ -81,7 +82,7 @@ void *Thread::threadEntryPointStub(void *arg1, void *arg2, void *arg3)
8182 k_thread_abort (k_current_get ());
8283}
8384
84- Mutex::Mutex (void ) : m_mutex(0 )
85+ Mutex::Mutex (void ) : m_mutex()
8586{
8687 k_mutex_init (&m_mutex);
8788}
@@ -104,7 +105,7 @@ bool Mutex::unlock(void)
104105 return true ;
105106}
106107
107- Semaphore::Semaphore (int count) : m_sem(0 )
108+ Semaphore::Semaphore (int count) : m_sem()
108109{
109110 // Set max count to highest signed int.
110111 k_sem_init (&m_sem, count, 0x7fffffff );
@@ -131,12 +132,12 @@ bool Semaphore::get(uint32_t timeoutUsecs)
131132 }
132133 }
133134
134- return (k_sem_take (&m_sem, timeoutUsecs) == 0 );
135+ return (k_sem_take (&m_sem, K_USEC ( timeoutUsecs) ) == 0 );
135136}
136137
137138int Semaphore::getCount (void ) const
138139{
139- return k_sem_count_get (m_sem);
140+ return k_sem_count_get (const_cast <k_sem *>(& m_sem) );
140141}
141142#endif /* ERPC_THREADS_IS(ZEPHYR) */
142143
0 commit comments