Am Sunday 25 October 2015, 18:13:53 schrieb Arnaud Charlet: > > After rtems initialization a thread is created which calls the gnat_main > > function and then runs the rts and the task. > > What I see so far is that after the hello_tasks delays itself the > > Complete_Master procedure (s-tassta.adb:444) is called, but with > > Self_Id set to the Id of the hello_task. > > The call finishes and the runtime is cleaned before the task if able to wake > > up. > > If I debug the same program on my desktop pc Complete_Master is called with > > the Id of the main task. It then notices that it has to wait for its > > dependent > > task (hello_task), sleeps until it finishes and only then terminates the > > runtime. > > > > I would like to know from where Complete_Master is called to break there and > > find out why it uses the wrong id. > > Why don't you simply put a breakpoint on Complete_Master? >
That's how I found out about the wrong/weird Self_Id. > You can also build hello.adb with the -gnatD switch to debug at the code > expansion level where you'll see the call to Complete_Master. > Thank you, that option helps a lot. Will check out the generated code tomorrow. Jan.