Duda en guardas de ADA

Duda en guardas de ADA

de Maximiliano Damian Bellas Da Cruz -
Número de respuestas: 1

Buenas.

La consulta es la siguiente. Cuando una task A invoca una entry de una task B y esa entry tiene una guarda que resulta ser falsa, ¿la task A queda bloqueada en la cola fifo del accept correspondiente, hasta que en alguna iteración del loop la condición sea verdadera? O sea, en esta situación ¿el atributo count de esa entry valdría 1?

supongamos:

task body B is ...

loop...

when (cond falsa) =>

     acccept entryB1;
...

task body A is
....
B.entryB1();

Gracias de antemano.

En respuesta a Maximiliano Damian Bellas Da Cruz

Re: Duda en guardas de ADA

de Federico Rivero -

Hola Maximiliano!

Sí, es como vos decís. Si la guarda del accept entryB1 es falsa entonces el task A va a quedar bloqueado hasta que en alguna otra iteración se acepte la entryB1. Y sí, a partir del momento de que A queda bloqueado, la evaluación de entryB1'count va a dar al menos 1.

Saludos,

       Federico