"J-P. Rosen" wrote in message news:rl6lka$ccv$1@dont-email.me... > > Le 02/10/2020 à 08:56, Dmitry A. Kazakov a écrit : >> On 02/10/2020 07:36, J-P. Rosen wrote: >> >>> To continue on Randy's response: mutual exclusion is not blocking. >>> "Blocking" (as in "potentially blocking operation") means "being put on >>> a queue", i.e. when the waiting time is potentially unbounded. >> >> It would be a poor definition, because deadlock in not bounded as well. >> If jumping from one protected object to another is legal, we can >> construct a deadlock out of mutual exclusion. > But this would necessarily involve an "external call to the same > protected object", which is defined as a potentially blocking operation. Note that such an operation doesn't really block, it is a deadlocking operation; Ada lumped it into "potentially blocking" in order to save some definitional overhead. (A mistake, in my view, it should simply have been defined to raise Program_Error or maybe Tasking_Error.) "Potentially blocking", in normal use, means something else. Randy.