mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-09-21 02:57:14 +08:00
PR2069: [CBS Scheduler] Memory leak and enqueue problem
Due to the fact that CBS extends the EDF scheduler, most parts of EDF are reused. One part is the allocation of the per-thread data. However, the CBS per-thread structure defines a further element (while including the rest of Scheduler_EDF_Per_thread)
This commit is contained in:
committed by
Gedare Bloom
parent
6c5d6c591f
commit
7a9288fe35
@@ -238,6 +238,7 @@ libscore_a_SOURCES += src/scheduleredf.c \
|
||||
|
||||
## SCHEDULERCBS_C_FILES
|
||||
libscore_a_SOURCES += src/schedulercbs.c \
|
||||
src/schedulercbsallocate.c \
|
||||
src/schedulercbsattachthread.c \
|
||||
src/schedulercbscleanup.c \
|
||||
src/schedulercbscreateserver.c \
|
||||
|
||||
@@ -49,7 +49,7 @@ extern "C" {
|
||||
_Scheduler_EDF_Yield, /* yield entry point */ \
|
||||
_Scheduler_EDF_Block, /* block entry point */ \
|
||||
_Scheduler_CBS_Unblock, /* unblock entry point */ \
|
||||
_Scheduler_EDF_Allocate, /* allocate entry point */ \
|
||||
_Scheduler_CBS_Allocate, /* allocate entry point */ \
|
||||
_Scheduler_EDF_Free, /* free entry point */ \
|
||||
_Scheduler_EDF_Update, /* update entry point */ \
|
||||
_Scheduler_EDF_Enqueue, /* enqueue entry point */ \
|
||||
@@ -315,6 +315,17 @@ void _Scheduler_CBS_Budget_callout(
|
||||
Thread_Control *the_thread
|
||||
);
|
||||
|
||||
/**
|
||||
* @brief Scheduler CBS Allocate
|
||||
*
|
||||
* This routine allocates CBS specific information of @a the_thread.
|
||||
*
|
||||
* @param[in] the_thread is the thread the scheduler is allocating
|
||||
* management memory for.
|
||||
*/
|
||||
void *_Scheduler_CBS_Allocate(
|
||||
Thread_Control *the_thread
|
||||
);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user