comp.lang.ada
 help / color / mirror / Atom feed
From: bobduff@world.std.com (Robert A Duff)
Subject: Re: Ada tasking issues
Date: 1996/06/06
Date: 1996-06-06T00:00:00+00:00	[thread overview]
Message-ID: <DsLKJt.BC5@world.std.com> (raw)
In-Reply-To: 4p7418$hi2@news.eecs.uic.edu


In article <4p7418$hi2@news.eecs.uic.edu>,
Ravi Gedela <rgedela@ernie.eecs.uic.edu> wrote:
>But now if the call has been accepted and is being processed 
>and the abortable part is completed an attempt to cancel the 
>call is made. The Ada95 reference manual does not clearly 
>explain what happens in such a situation. Could you please let
> me know how exactly the call that is being processed can be 
>retracted.

Normally, if the entry call has been selected (so the accept_statement
or entry_body is now running), that's the end of it -- the entry call
wins the race, and the abortable part loses.  The accept_stm or
entry_body runs to completion.

The one exception is if the entry is requeued-with-abort, and the entry
on which it is requeued is not ready to go -- then the call is
cancelled, and the abortable_part wins the race.

You can't cancel an entry call in the middle, while it's doing
something.  The cancellation will only take place if and when the call
is queued.  If it's queued in the normal way, or by a
requeue-with-abort, it will get cancelled.  If it's queued by a
requeue-without-abort it will not get cancelled.  An ATTEMPT to cancel
will be held until the entry is queued (abortably), in which case the
attempt succeeds, or until the entry call is finished, in which case the
attempt fails.

Usually, if the trigger of an ATC is an entry call, the entry body will
be short (often null).  The purpose of the trigger is just to notify the
caller that some event has taken place, not to do a whole lot of
processing.  Usually, I mean.

- Bob




  reply	other threads:[~1996-06-06  0:00 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-06-06  0:00 Ada tasking issues Ravi Gedela
1996-06-06  0:00 ` Robert A Duff [this message]
1996-06-06  0:00 ` Robert Dewar
replies disabled

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