RFC: Thread abort handler in unified kernel


Dmitriy Korovkin
 

Any comment on this?

Zephyr microkernel tasks allow user to set the task abort handler by
invoking task_abort_handler_set(). The abort handler is executed by
microkernel server fiber when it aborts the task.

As moving to unified kernel, it may be a good time to decide if this
functionality is needed in the future (for now it is needed for
compatibility, of course).

Regards,

Dmitriy Korovkin


Andy Ross
 

Dmitriy Korovkin wrote:
Zephyr microkernel tasks allow user to set the task abort handler by
invoking task_abort_handler_set(). The abort handler is executed by
microkernel server fiber when it aborts the task.

As moving to unified kernel, it may be a good time to decide if this
functionality is needed in the future (for now it is needed for
compatibility, of course).
What's the use case? We don't really have a working exception/longjmp
framework that could clean up things after a stack unwind, so what
value is an "abort handler" going to provide anyway? A quick grep
says that we don't even have a test case for this (it gets linked in
explicitly by the footprint test, but never called).

I agree we should junk it on general principle.

Andy