This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: On ecos exception process


zhlg_shuhan <zhlg_shuhan@sina.com> writes:

> Dear Nickg,
>     I foud  exception delivered from current thread to others thread was not processed, and call flow as following:
>   cyg_hal_default_exception_vsr()
>              |
>  cyg_hal_exception_handler()
>              |
>  cyg_hal_deliver_exception()
>              |
>  cyg_Thread::self->deliver_exception()
> 
> question is:
>    which stack,current thread or interrupt stack, was execption  processed in ? if in interrupt stack,  why deliver exception to a thread? otherwise,if in current thread stack,why not current thread processes all exceptions?
>     tks&regard
> 

Exceptions are processed entirely on the stack of the current thread -
since they can only be caused by the execution of the current thread.

Some people might think that exceptions work like Unix signals and are
thus deliverable to other threads. There is in fact nothing in the
thread and exception APIs to prevent this. Hence the references to the
fact that it does not actually work.

-- 
Nick Garnett - eCos Kernel Architect


-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]