comp.lang.ada
 help / color / mirror / Atom feed
From: rjh@cs.purdue.EDU (Bob Hathaway)
Subject: Re: Two Questions on tasking
Date: 31 Mar 89 21:42:29 GMT	[thread overview]
Message-ID: <6358@medusa.cs.purdue.edu> (raw)
In-Reply-To: 890331161111.20401e9f@elcc.epfl.ch

In article <890331161111.20401e9f@elcc.epfl.ch> madmats@elma.epfl.ch (Mats Weber) writes:
>> 1. When an exception is raised and not handled in a task body, the task
>>    is terminated and the exception is not further propagated, without
>>    notice (11.4.1.8).  Why is this?
>
>This is because the execution of the task is independent of its creator.

According to section 9.4.1: "Each task depends on at least one master.".

>If the exception were propagated to the task's creator, the exception 
>handler in the creator could get exceptions from all tasks he has created.
>For example, if task A creates A.B, A.C and A.D and A.B raises Exception_B
>and A.C raises exception Exception_C, how would the handler in A deal with
>them ?
>The Ada rules on exceptions state that only one exception may be active in
>any thread of execution.

According to section 9.3.3, if any child task does not have a handler for 
a raised exception, the exception TASKING_ERROR is propagated to the master
upon conclusion of the activation of all sibling tasks and is propagated
to the master only once for any number of concluded child tasks.  What is 
being asserted above? 

Bob Hathaway
rjh@purdue.edu

  reply	other threads:[~1989-03-31 21:42 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1989-03-31 15:11 Two Questions on tasking Mats Weber
1989-03-31 21:42 ` Bob Hathaway [this message]
  -- strict thread matches above, loose matches on Subject: below --
1989-04-03 11:05 Two Questions on Tasking Mats Weber
1989-04-03 13:31 Two Questions on tasking Norman Cohen
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox