Problem with rtems_task_variable_delete
Dieter Schaefer
Dieter.B.Schaefer at t-online.de
Wed Dec 10 18:35:51 UTC 2003
> On Tue, 09 Dec 2003 01:18:32 -0800 (PST), "Fernando RUIZ CASAS" wrote:
>
> After browsing in the versions of sources the problem was fixed.
>
>
> http://www.rtems.com/cgi-bin/cvsweb.cgi/rtems/cpukit/rtems/src/tasks.c.diff?r1=1.34&r2=1.35
>
> In tasks.c the problem can be isolated again.
>
> while (tvp) {
> next = tvp->next;
> if (tvp->dtor)
> (*tvp->dtor)( tvp->ptr ); <<< HERE the change and the source of the problem.
> if (executing == deleted)
> *tvp->ptr = tvp->gval;
> _Workspace_Free( tvp );
>
> Some printk let to show the dtor, the ptr, and more...
> I can't test it. Sorry.
>
Thank's for the hint. I had already modified this before. Unfortunately,
it's not the solution. Here is what happens ...
free(...) is called with the correct value
|-> calles rtems_region_return_segment(...)
|-> calles _RTEMS_Lock_allocator()
|-> calles _Internal_error_Occured(...)
|-> calles _BSP_Fatal_error(...)
-> the end of the world.
Any ideas, any hints from RTEMS professionals?
BTW, did someone manage to run *all* spxx tests on a mbx8xx board
successfully? Would be interesting to know if they all work with the
unmodified BSP supplied in the source tree (rtems-4.6.0pre5)
Regards
Dieter Schaefer
More information about the users
mailing list