ARM: Allow threads to run to completion.

This commit is contained in:
Kelvin Lawson
2013-02-26 23:29:13 +00:00
parent dac253ceac
commit 554c772f95
2 changed files with 8 additions and 10 deletions

View File

@@ -53,15 +53,11 @@ void
test_thread (uint32_t param)
{
uint32_t failures ;
CRITICAL_STORE ;
failures = test_start () ;
atomTimerDelay (10) ;
CRITICAL_START() ;
printf ("%s %s\r\n", ATOMTHREADS_TEST, failures ? "FAIL" : "PASS") ;
exit (failures) ;
CRITICAL_END() ;
printf ("%s %s\r\n", ATOMTHREADS_TEST, failures ? "FAIL" : "PASS") ;
return;
}
/**

View File

@@ -61,8 +61,7 @@ thread_shell (void)
* Enable interrupts - these will not be enabled when a thread
* is first restored.
*/
// sei();
contextEnableInterrupts () ;
contextEnableInterrupts () ;
/* Call the thread entry point */
if (curr_tcb && curr_tcb->entry_point)
@@ -70,7 +69,10 @@ thread_shell (void)
curr_tcb->entry_point(curr_tcb->entry_param);
}
/* Not reached - threads should never return from the entry point */
/* Thread has run to completion: remove it from the ready list */
curr_tcb->suspended = TRUE;
atomSched (FALSE);
}