Re: Unchecked_Conversion and task pointer.



On Mon, 11 Jul 2005 13:28:42 -0500, Randy Brukardt wrote:

> Well, you can't ignore the prefix (it determines whether it is an internal
> or external requeue).

This must be fixed anyway. There is no safe way to statically determine if
a requeue is internal (in Ada 95 it had a quite nasty consequences, like a
program which legality was dependent on whether at run-time a barrier was
open or not.)

For class-wide objects the idea of protected actions should be refined: let
A extend B. Is a protected action on X of A, the same or a different action
on B(X)? What about B'Class(X), A'Class(X)? Further, for multi-methods, let
both tagged arguments resolve to the same type tag, but different objects.
Will it start two actions?

> It certainly doesn't work with the
> "use a procedure like an entry" model, because it would make no sense to
> requeue on a procedure.

Hmm, if a procedure is like an always open entry, then why not to continue
the current protected action while calling the procedure? The action is
completed with return from the procedure.

--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
.