comp.lang.ada
 help / color / mirror / Atom feed
From: sjw <simon.j.wright@mac.com>
Subject: Re: requeue with abort and timed call
Date: Mon, 29 Dec 2008 13:05:58 -0800 (PST)
Date: 2008-12-29T13:05:58-08:00	[thread overview]
Message-ID: <2a0a1de3-6736-4478-9378-50b8895fa20d@r15g2000prh.googlegroups.com> (raw)
In-Reply-To: 9j9ajg.3a7.ln@hunter.axlog.fr

On Dec 29, 10:42 am, Jean-Pierre Rosen <ro...@adalog.fr> wrote:

> Anyway, it is clear that the second call should be cancelled in this
> example.

The whole example is far from clear to me. If I were reviewing this
design I would have great difficulty understanding what the designer
was trying to do and whether the code achieved it.

The decision to requeue ought to be speedy. Requeue because you can't
deal with it now; don't ponder for 3 seconds and then decide to
requeue for a further arbitrary period.

If the code said

         accept Original_Call do
            Put_Line ("Original Call...");
            delay 3.0;
            Put_Line ("Original Call Done");
         end Original_Call;

ie without the requeue, the timed entry call would not be cancelled,
because we're abort-deferred. So a caller design which relies on the
callee having/not having a requeue is broken.

Isn't it normally considered bad practice to do extensive processing
within the accept statement?




  reply	other threads:[~2008-12-29 21:05 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-28 13:24 requeue with abort and timed call ishikawa
2008-12-28 14:30 ` Dmitry A. Kazakov
2008-12-28 15:53   ` christoph.grein
2008-12-28 16:09     ` christoph.grein
2008-12-28 17:46       ` ishikawa
2008-12-29 10:23         ` christoph.grein
2008-12-29 10:55           ` Dmitry A. Kazakov
2008-12-29 11:17             ` christoph.grein
2008-12-29 12:27               ` Dmitry A. Kazakov
2008-12-28 17:16     ` Dmitry A. Kazakov
2008-12-28 21:42       ` Robert A Duff
2008-12-29 10:42       ` Jean-Pierre Rosen
2008-12-29 21:05         ` sjw [this message]
2008-12-30  9:25           ` Jean-Pierre Rosen
2008-12-30 13:18             ` christoph.grein
2008-12-30 15:39               ` Jean-Pierre Rosen
2008-12-30 17:01                 ` christoph.grein
2008-12-30 17:16                   ` ishikawa
2008-12-30 15:54               ` ishikawa
2008-12-30 21:33             ` sjw
2008-12-30 22:52               ` Robert A Duff
2008-12-31  9:21               ` Jean-Pierre Rosen
2008-12-31 15:39                 ` christoph.grein
2008-12-31 16:14                   ` Jean-Pierre Rosen
2009-01-03 16:49                     ` ishikawa
2009-01-03 21:09                       ` Jeffrey R. Carter
2009-01-04 15:40                         ` christoph.grein
2009-01-04 17:09                           ` Jeffrey R. Carter
2009-01-04 18:03                         ` ishikawa
2009-01-04 18:56                           ` Dmitry A. Kazakov
2009-01-04 23:17                             ` belteshazzar
2009-01-05  9:12                               ` Dmitry A. Kazakov
2009-01-05  2:48                             ` Jeffrey R. Carter
2009-01-05  9:30                               ` Dmitry A. Kazakov
2009-01-05 20:28                                 ` Jeffrey R. Carter
2009-01-05 20:47                                   ` Dmitry A. Kazakov
2009-01-06  2:35                                     ` Jeffrey R. Carter
2009-01-05 10:17                           ` Jean-Pierre Rosen
2008-12-28 15:53 ` sjw
replies disabled

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