diff options
| author | Bdale Garbee <bdale@gag.com> | 2016-05-06 17:59:39 -0600 | 
|---|---|---|
| committer | Bdale Garbee <bdale@gag.com> | 2016-05-06 17:59:39 -0600 | 
| commit | ac7be4a40df88ee3a0992e041635e4ac4cf5ac48 (patch) | |
| tree | ee3c747b2ee98b772e02dce604b58878e9336def /src/kernel/ao_task.c | |
| parent | b53c78e75879d647935a30acb88fdd69467617a7 (diff) | |
| parent | ce4c8a8ad57515e851207b0a82f3af791bb30d3e (diff) | |
Merge branch 'master' into branch-1.6
Diffstat (limited to 'src/kernel/ao_task.c')
| -rw-r--r-- | src/kernel/ao_task.c | 4 | 
1 files changed, 3 insertions, 1 deletions
| diff --git a/src/kernel/ao_task.c b/src/kernel/ao_task.c index 55e423bb..e430edc6 100644 --- a/src/kernel/ao_task.c +++ b/src/kernel/ao_task.c @@ -355,7 +355,6 @@ ao_yield(void) ao_arch_naked_define  	 */  	if (ao_cur_task->wchan == NULL)  		ao_task_to_run_queue(ao_cur_task); -	ao_cur_task = NULL;  	for (;;) {  		ao_arch_memory_barrier();  		if (!ao_list_is_empty(&run_queue)) @@ -425,6 +424,7 @@ ao_sleep(__xdata void *wchan)  void  ao_wakeup(__xdata void *wchan) __reentrant  { +	ao_validate_cur_stack();  #if HAS_TASK_QUEUE  	struct ao_task	*sleep, *next;  	struct ao_list	*sleep_queue; @@ -442,10 +442,12 @@ ao_wakeup(__xdata void *wchan) __reentrant  	}  	ao_arch_irqrestore(flags);  #else +	{  	uint8_t	i;  	for (i = 0; i < ao_num_tasks; i++)  		if (ao_tasks[i]->wchan == wchan)  			ao_tasks[i]->wchan = NULL; +	}  #endif  	ao_check_stack();  } | 
