git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@11295 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
Giovanni Di Sirio 2018-01-16 15:19:45 +00:00
parent b685bbe51d
commit bae22c6d4b
3 changed files with 11 additions and 1 deletions

View File

@ -304,8 +304,15 @@ static inline void chGuardedPoolAddI(guarded_memory_pool_t *gmp, void *objp) {
* @iclass
*/
static inline void *chGuardedPoolAllocI(guarded_memory_pool_t *gmp) {
void *p;
return chPoolAllocI(&gmp->pool);
p = chPoolAllocI(&gmp->pool);
if (p != NULL) {
chSemFastWaitI(&gmp->sem);
chDbgAssert(chSemGetCounterI(&gmp->sem) >= (cnt_t)0,
"semaphore out of sync");
}
return p;
}
#endif /* CH_CFG_USE_SEMAPHORES == TRUE */

View File

@ -166,6 +166,8 @@
dependencies and configuration directories. This makes possible
to have multiple non-conflicting makefiles in the same project.
Updated the various platform.mk implementing "smart build" mode.
- LIB: Fixed inner semaphore not updated in chGuardedPoolAllocI() function
(bug #911).
- HAL: Fixed chprintf float support for 0 precision (bug #910)(backported to
17.6.4 and 16.1.10).
- RT: Fixed compile error with assertions enabled and dynamic extensions

View File

@ -45,6 +45,7 @@ received a series of important improvements, new features have been added.
exchange complex objects between threads/ISRs. It is based on a
mailbox and a guarded memory pool.
- Added alignment handling to memory pools.
- Added a new chGuardedPoolAllocI() API to the guarded memory pools.
*** What's new in RT 5.0.0 ***