This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: On ecos exception process
- From: Nick Garnett <nickg at calivar dot demon dot co dot uk>
- To: zhlg_shuhan <zhlg_shuhan at sina dot com>
- Cc: ecos-discuss at sources dot redhat dot com
- Date: 01 Jul 2002 15:39:33 +0100
- Subject: [ECOS] Re: On ecos exception process
- References: <20020701030719.1947.qmail@sina.com>
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®ard
>
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