From: Jean-Pierre Rosen <rosen@adalog.fr>
Subject: Re: task synchronization and activation
Date: Mon, 21 Feb 2005 09:50:59 +0100
Date: 2005-02-21T09:50:59+01:00 [thread overview]
Message-ID: <id7cvc.igh.ln@hunter.axlog.fr> (raw)
In-Reply-To: <5f59677c.0502190711.1d6d2492@posting.google.com>
Evangelista Sami a �crit :
> Hello all
>
> Why does a task have to wait that all the tasks it created are
> activated before
> executing? I am thinking of point 9.2.5 of the RM :
>
> "The task that created the new tasks and initiated their activations
> (the activator) is blocked until all of these activations complete
> (successfully or not)."
>
> I can understand that a master has to wait for the tasks he created
> before finalizing since in the other case it could "free" some memory
> needed by its children.
> But i cannot see why this synchronisation after activation is
> necessary. What is the technical reason?
>
It has to do with exceptions at elaboration.
When a task is started, it first elaborates its declarative part. If
exceptions are raised during this elaboration, they cannot be handled by
the task itself, therefore it is necessary to notify *someone*, and the
obvious "someone" is the activator. However, we don't want to have
asynchronous exceptions, therefore the activator has to wait that all
subtasks are (correctly) activated.
Differently said: when an activator reaches the first statement after
the begin, it is guaranteed that all subtasks have been correctly
activated; otherwise, Tasking_Error is raised after begin (so it can be
handled locally), but before the first statement.
--
---------------------------------------------------------
J-P. Rosen (rosen@adalog.fr)
Visit Adalog's web site at http://www.adalog.fr
next prev parent reply other threads:[~2005-02-21 8:50 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-02-19 15:11 task synchronization and activation Evangelista Sami
2005-02-19 16:11 ` Martin Krischik
2005-02-19 18:11 ` Ed Falis
2005-02-19 20:05 ` Robert A Duff
2005-02-20 10:47 ` Martin Krischik
2005-02-21 19:25 ` Dmitry A. Kazakov
2005-02-21 8:50 ` Jean-Pierre Rosen [this message]
2005-02-21 21:55 ` Robert A Duff
2005-02-22 0:01 ` Randy Brukardt
2005-02-22 7:17 ` Jean-Pierre Rosen
2005-02-23 2:24 ` Robert A Duff
2005-02-23 7:58 ` Martin Krischik
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox