mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2025-10-18 09:47:27 +08:00
🎯 Sync smart & scheduler codes (#8537)
Signed-off-by: Shell <smokewood@qq.com> Co-authored-by: xqyjlj <xqyjlj@126.com>
This commit is contained in:
@@ -46,7 +46,17 @@ int8_t rt_tz_is_dst(void);
|
||||
|
||||
struct itimerspec;
|
||||
|
||||
#if defined(_GNU_SOURCE) && (defined(__x86_64__) || defined(__i386__))
|
||||
/* 'struct timeval' is defined on __x86_64__ toolchain */
|
||||
#if !defined(__x86_64__) && !defined(_TIMEVAL_DEFINED)
|
||||
#define _TIMEVAL_DEFINED
|
||||
struct timeval
|
||||
{
|
||||
time_t tv_sec; /* seconds */
|
||||
suseconds_t tv_usec; /* and microseconds */
|
||||
};
|
||||
#endif /* _TIMEVAL_DEFINED */
|
||||
|
||||
#if defined(_GNU_SOURCE) && (defined(__x86_64__) || defined(__i386__) || defined(RT_USING_SMART))
|
||||
/* linux x86 platform gcc use! */
|
||||
#define _TIMEVAL_DEFINED
|
||||
/* Values for the first argument to `getitimer' and `setitimer'. */
|
||||
@@ -71,16 +81,7 @@ struct itimerval
|
||||
/* Time to the next timer expiration. */
|
||||
struct timeval it_value;
|
||||
};
|
||||
#endif /* defined(_GNU_SOURCE) && (defined(__x86_64__) || defined(__i386__)) */
|
||||
|
||||
#ifndef _TIMEVAL_DEFINED
|
||||
#define _TIMEVAL_DEFINED
|
||||
struct timeval
|
||||
{
|
||||
time_t tv_sec; /* seconds */
|
||||
suseconds_t tv_usec; /* and microseconds */
|
||||
};
|
||||
#endif /* _TIMEVAL_DEFINED */
|
||||
#endif /* defined(_GNU_SOURCE) && (defined(__x86_64__) || defined(__i386__)) || defined(RT_USING_SMART) */
|
||||
|
||||
#if defined(__ARMCC_VERSION) || defined(_WIN32) || (defined(__ICCARM__) && (__VER__ < 8010001))
|
||||
struct timespec
|
||||
|
@@ -203,7 +203,7 @@ void dlmodule_destroy_subthread(struct rt_dlmodule *module, rt_thread_t thread)
|
||||
rt_enter_critical();
|
||||
|
||||
/* remove thread from thread_list (ready or defunct thread list) */
|
||||
rt_list_remove(&(thread->tlist));
|
||||
rt_list_remove(&RT_THREAD_LIST_NODE(thread));
|
||||
|
||||
if ((thread->stat & RT_THREAD_STAT_MASK) != RT_THREAD_CLOSE &&
|
||||
(thread->thread_timer.parent.type == (RT_Object_Class_Static | RT_Object_Class_Timer)))
|
||||
|
@@ -285,7 +285,7 @@ rt_err_t _pthread_cond_timedwait(pthread_cond_t *cond,
|
||||
rt_thread_suspend(thread);
|
||||
|
||||
/* Only support FIFO */
|
||||
rt_list_insert_before(&(sem->parent.suspend_thread), &(thread->tlist));
|
||||
rt_list_insert_before(&(sem->parent.suspend_thread), &RT_THREAD_LIST_NODE(thread));
|
||||
|
||||
/**
|
||||
rt_ipc_list_suspend(&(sem->parent.suspend_thread),
|
||||
|
Reference in New Issue
Block a user