"Yannick Duch�ne (Hibou57)" wrote in message news:op.v5syuzm9ule2fv@douda-yannick... Le Thu, 01 Dec 2011 01:40:09 +0100, Randy Brukardt a �crit: >> The problem is that waiting on multiple events is not something that is >> easily done >As Janus Ada is a Windows Ada compiler, I guess you know Windows has some >way to wait for multiple events and it works rather fine. What is >different here ? Janus/Ada's task supervisor predates Windows and doesn't (to date) use any Windows facilities at all. So what Windows can or cannot do isn't terribly relevant. [Humm, that's not 100% true, it does use Sleep and the clock routines. But that't it, and Sleep was the only thing added specifically for Windows.] In any case, what a particular target can do is not that relevant to what the language design can do. Ada 95 tried to add a multi-way entry call, and every implementer who studied it ended up reporting that the implementation would essentially end up being some form of polling. Which is not what anyone was hoping for. It got dropped from Ada 95. Clearly, a termination feature can always be implemented by polling, but we don't need any feature like that -- you can write that yourself. We have to have a feature that actually can be implemented by waiting, and that is not as easy as it seems on the surface. (I'm not going to comment on the problems that AdaCore found; someone there will have to explain those if they want.) Randy.