From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Simon Wright Newsgroups: comp.lang.ada Subject: ACATS & dispatching priorities Date: Fri, 05 May 2017 18:24:49 +0100 Organization: A noiseless patient Spider Message-ID: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: mx02.eternal-september.org; posting-host="f5db2c2b70c48f056f74a057459d9243"; logging-data="31840"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+KnYqTecie0fnwed/IXqdKU5ZXqaY8Lt0=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (darwin) Cancel-Lock: sha1:w4cKigws5kSmuTRXqPgYX1V68P0= sha1:LU8kV8bAQGfXP6+mvuR0bpPNi6k= Xref: news.eternal-september.org comp.lang.ada:46674 Date: 2017-05-05T18:24:49+01:00 List-Id: ACATS 4.1 has tests CXD* which test correct Annex D behaviour. I'm getting problems with them. See [0] for work in progress. For instance, CXD2002 reports as below (lines starting '*' are reporting errors): ,.,. CXD2002 ACATS 4.1 17-05-03 17:31:31 ---- CXD2002 Default Task Dispatching - a non-blocking delay puts the task at the tail of the ready queue for that priority. * CXD2002 Delay_Task executed before a Sub_Task. * CXD2002 Low priority task executed out of order. * CXD2002 Sub_Tasks did not run when expected. **** CXD2002 FAILED ****************************. (sometimes the "Low priority task" line doesn't appear). The binder has correctly set Ceiling priority and FIFO within tasks. Same on macOS, Debian (both 64-bit). Same with GNAT GPL 2016, GCC 6.1.0. Behaviour not affected by running as root (this used to make a difference to Linux tasking programs - or was that Solaris?) Is anyone aware of GNAT limitations in this area? I found [1] ([2] is prettier), and apparently Ceiling locking isn't supported on Linux. But it should be OK on macOS??? [0] https://github.com/simonjwright/ACATS [1] https://gcc.gnu.org/onlinedocs/gcc-3.1/gnat_rm/Ensuring-Compliance-with-the-Real-Time-Annex.html [2] https://docs.adacore.com/gnat_rm-docs/html/gnat_rm/gnat_rm/implementation_of_specific_ada_features.html