@@ -54,12 +54,12 @@ class MemoryPool : private mbed::NonCopyable<MemoryPool<T, pool_sz> > {
54
54
MemoryPool () {
55
55
memset (_pool_mem, 0 , sizeof (_pool_mem));
56
56
memset (&_obj_mem, 0 , sizeof (_obj_mem));
57
- osMemoryPoolAttr_t attr = { 0 } ;
58
- attr .mp_mem = _pool_mem;
59
- attr .mp_size = sizeof (_pool_mem);
60
- attr .cb_mem = &_obj_mem;
61
- attr .cb_size = sizeof (_obj_mem);
62
- _id = osMemoryPoolNew (pool_sz, sizeof (T), &attr );
57
+ memset (&_attr, 0 , sizeof (_attr)) ;
58
+ _attr .mp_mem = _pool_mem;
59
+ _attr .mp_size = sizeof (_pool_mem);
60
+ _attr .cb_mem = &_obj_mem;
61
+ _attr .cb_size = sizeof (_obj_mem);
62
+ _id = osMemoryPoolNew (pool_sz, sizeof (T), &_attr );
63
63
MBED_ASSERT (_id);
64
64
}
65
65
@@ -99,6 +99,7 @@ class MemoryPool : private mbed::NonCopyable<MemoryPool<T, pool_sz> > {
99
99
100
100
private:
101
101
osMemoryPoolId_t _id;
102
+ osMemoryPoolAttr_t _attr;
102
103
/* osMemoryPoolNew requires that pool block size is a multiple of 4 bytes. */
103
104
char _pool_mem[((sizeof (T) + 3 ) & ~3 ) * pool_sz];
104
105
mbed_rtos_storage_mem_pool_t _obj_mem;
0 commit comments