_Internal_error_Occurred() in _Thread_Handler()
Joel Sherrill
Joel.Sherrill at OARcorp.com
Thu Mar 28 14:03:10 UTC 2013
Just to directly answer the question about the idle thread. It is perfectly normal to have a system where that is the only ready thread. Even ticker spends most of its execution time in this state.
POSIX threads implicitly delete themselves when they return.
It is a fatal error for Classic API tasks to do so.
This is just one example of the differing philosophies behind the two APIs.
--joel
Sebastian Huber <sebastian.huber at embedded-brains.de> wrote:
On 03/28/2013 01:26 PM, Matthew J Fletcher wrote:
> Hi,
>
> I am getting the above and presume i've made a mistake in some part of my setup.
>
> I know task switching works, i switch between the idle task and my Init() task
> fine, this error seems to occur in the task switch that occurs after i
> rtems_task_suspend() the Init() task. That in itself i guess is fine, most of
> the examples do it.
>
> Would the above happen if there were no ready to be scheduled tasks except the
> idle task ?
The only internal error in _Thread_Handler() is INTERNAL_ERROR_THREAD_EXITTED.
The classic API tasks must not return. You have to delete them, e.g. with
rtems_task_delete(RTEMS_SELF);
--
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.huber at embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
_______________________________________________
rtems-users mailing list
rtems-users at rtems.org
http://www.rtems.org/mailman/listinfo/rtems-users
More information about the users
mailing list