diff options
Diffstat (limited to 'os/rt/src/chmempools.c')
-rw-r--r-- | os/rt/src/chmempools.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/os/rt/src/chmempools.c b/os/rt/src/chmempools.c index 7afd5525f..43b4268b8 100644 --- a/os/rt/src/chmempools.c +++ b/os/rt/src/chmempools.c @@ -121,10 +121,13 @@ void *chPoolAllocI(memory_pool_t *mp) { chDbgCheckClassI();
chDbgCheck(mp != NULL);
- if ((objp = mp->mp_next) != NULL)
+ if ((objp = mp->mp_next) != NULL) {
mp->mp_next = mp->mp_next->ph_next;
- else if (mp->mp_provider != NULL)
+ }
+ else if (mp->mp_provider != NULL) {
objp = mp->mp_provider(mp->mp_object_size);
+ }
+
return objp;
}
@@ -144,6 +147,7 @@ void *chPoolAlloc(memory_pool_t *mp) { chSysLock();
objp = chPoolAllocI(mp);
chSysUnlock();
+
return objp;
}
|