* Re: Propagation of exceptions raised in tasks
@ 1986-06-10 17:22 Sigurd Meldal
0 siblings, 0 replies; only message in thread
From: Sigurd Meldal @ 1986-06-10 17:22 UTC (permalink / raw)
Ben Brosgol writes
> The problems with asynchronous exceptions are why exceptions do not propagate
> out of tasks. That is, there is no way of knowing where the parent task
> is when the child task raises the exception. Asynchronous exception raising
> would be an unreliable and hard to implement means of synchronization. So,
> sorry about the lack of symmetry between tasks and other units with
> respect to exception propagation, but tasks are different in an essential way
> here.
However, there is at least one well-defined point to which an exception
raised in a task could be propagated. Since a block statement, task
etc. which has dependent tasks is not terminated unless all dependent
tasks are completed, we have a synchronization point at the end of this
master (LRM 9.4). One might lay down the rule that an exception
propagated out of a task is handled by a handler of the direct
master of the task raising the exception, in effect interrupting the
master. One would probably have to insist that the propagation
of an exception out of a task kills all tasks dependent on the master
handling the exception, a rather heavy-handed treatment if
synchronization is the issue, but reasonable if exceptions really are
exceptional and are treated as such.
Sigurd Meldal
Hard mail: Institute of Informatics | ARPA: sigurd@oslo-vax.arpa
University of Oslo |
pob. 1080 Blindern |
N - 0316 Oslo 3 |
Norway. |
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~1986-06-10 17:22 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1986-06-10 17:22 Propagation of exceptions raised in tasks Sigurd Meldal
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox