mirror of https://github.com/ARMmbed/mbed-os.git
Squashed 'features/nanostack/sal-stack-nanostack-eventloop/' changes from b8b664b..7745556
7745556 Fix post-event state change for user events git-subtree-dir: features/nanostack/sal-stack-nanostack-eventloop git-subtree-split: 7745556bcce16b50923a7d774a161312418c1e6dpull/9838/head
parent
99c2f61463
commit
7a78882279
|
@ -179,23 +179,25 @@ arm_event_storage_t *event_core_get(void)
|
||||||
|
|
||||||
void event_core_free_push(arm_event_storage_t *free)
|
void event_core_free_push(arm_event_storage_t *free)
|
||||||
{
|
{
|
||||||
free->state = ARM_LIB_EVENT_UNQUEUED;
|
|
||||||
|
|
||||||
switch (free->allocator) {
|
switch (free->allocator) {
|
||||||
case ARM_LIB_EVENT_STARTUP_POOL:
|
case ARM_LIB_EVENT_STARTUP_POOL:
|
||||||
|
free->state = ARM_LIB_EVENT_UNQUEUED;
|
||||||
platform_enter_critical();
|
platform_enter_critical();
|
||||||
ns_list_add_to_start(&free_event_entry, free);
|
ns_list_add_to_start(&free_event_entry, free);
|
||||||
platform_exit_critical();
|
platform_exit_critical();
|
||||||
break;
|
break;
|
||||||
case ARM_LIB_EVENT_DYNAMIC:
|
case ARM_LIB_EVENT_DYNAMIC:
|
||||||
// Free all dynamically allocated events.
|
// Free all dynamically allocated events.
|
||||||
|
// No need to set state to UNQUEUED - it's being freed.
|
||||||
ns_dyn_mem_free(free);
|
ns_dyn_mem_free(free);
|
||||||
break;
|
break;
|
||||||
case ARM_LIB_EVENT_TIMER:
|
case ARM_LIB_EVENT_TIMER:
|
||||||
// Hand it back to the timer system
|
// Hand it back to the timer system
|
||||||
|
free->state = ARM_LIB_EVENT_UNQUEUED;
|
||||||
timer_sys_event_free(free);
|
timer_sys_event_free(free);
|
||||||
break;
|
break;
|
||||||
case ARM_LIB_EVENT_USER:
|
case ARM_LIB_EVENT_USER:
|
||||||
|
// No need set state to UNQUEUED - we forget about it.
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue