How does RTEMS decide which process to execute next on calling rtems_task_exit

Richi Dubey richidubey at gmail.com
Tue Nov 3 17:38:43 UTC 2020


Hi,

Can someone please help me out with this? Is what I am asking not
correct/not making sense? Let me know.

Thanks,
Richi.

On Mon, 2 Nov 2020, 21:43 Richi Dubey, <richidubey at gmail.com> wrote:

> Hi,
>
> While debugging sp16.exe, when Task_1 calls rtems_task_wake_after,
> following the stack trace would lead us to the scheduler code that makes a
> decision in selecting the next thread to execute. rtems_task_wake_after ->
> _Thread_Yield -> _Scheduler_Yield -> *scheduler->Operations.yield.
>
> But I tried a lot and checked inside each stack when Task_5
> calls rtems_task_exit(), but I could not find any code that calls the
> scheduler to make a decision on the next thread to execute. I also tried
> setting watchpoint, but to no avail:
>
> --------------------------
> rtems_task_exit () at
> /home/richi/quick-start/src/rtems/c/src/../../cpukit/rtems/src/taskexit.c:23
> 23 {
> (gdb) awatch cpu_self->heir
> Hardware access (read/write) watchpoint 8: cpu_self->heir
> (gdb) c
> Continuing.
> Watchpoint 8 deleted because the program has left the block
> in which its expression is valid.
>
> Thread 1 hit Breakpoint 5, _Terminate (the_source=RTEMS_FATAL_SOURCE_EXIT,
> the_error=0) at
> /home/richi/quick-start/src/rtems/c/src/../../cpukit/score/src/interr.c:36
> 36  _User_extensions_Fatal( the_source, the_error );
> (gdb)
> --------------------------
>
> Can someone tell me how I can achieve my goal?
>
> Thanks,
> Richi.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20201103/e24d2fa8/attachment.html>


More information about the devel mailing list