From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.5-pre1 Path: eternal-september.org!reader02.eternal-september.org!news.dns-netz.com!news.freedyn.net!newsfeed.xs4all.nl!newsfeed8.news.xs4all.nl!tr1.eu1.usenetexpress.com!feeder.usenetexpress.com!tr2.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!buffer1.nntp.dca1.giganews.com!news.giganews.com.POSTED!not-for-mail NNTP-Posting-Date: Sat, 12 Jun 2021 20:55:35 -0500 From: Dennis Lee Bieber Newsgroups: comp.lang.ada Subject: Re: non-preemptive tasking on GNAT 2020 Windows 10 multicore AMD Date: Sat, 12 Jun 2021 21:55:35 -0400 Organization: IISS Elusive Unicorn Message-ID: References: <1d798609-8b73-4bc6-b74f-e435e8af8fedn@googlegroups.com> <3b70ea2b-9783-48a3-999c-55486126ec9dn@googlegroups.com> User-Agent: ForteAgent/8.00.32.1272 X-No-Archive: YES MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Usenet-Provider: http://www.giganews.com X-Trace: sv3-rWT2GdVVU/XvIMw+I+xBwmGxqALJrZ85QkjmQ5/vjZMthHHDgojzzO1vtk3Z1VW2gVdVX15recaO0Lu!9m7VouLYW6wsUnc1vRA2GALCVogk82zBejjPdtZtVmcpS6xVpR+ofnfKND6I+cJ1+i3zsNft X-Complaints-To: abuse@giganews.com X-DMCA-Notifications: http://www.giganews.com/info/dmca.html X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.40 X-Original-Bytes: 3135 Xref: reader02.eternal-september.org comp.lang.ada:62209 List-Id: On Sat, 12 Jun 2021 21:24:58 -0400, Dennis Lee Bieber declaimed the following: > I suspect part of the problem may be that the GNAT runtime defers to >the OS for how tasks (threads/processes) are implemented (AdaCore probably Also see https://docs.adacore.com/gnat_ugn-docs/html/gnat_ugn/gnat_ugn/platform_specific_information.html """ Choosing the Scheduling Policy When using a POSIX threads implementation, you have a choice of several scheduling policies: SCHED_FIFO, SCHED_RR and SCHED_OTHER. """ Unfortunately -- POSIX threads means, I believe, pthreads library... That is not native on Windows, just Linux and Mac... Don't know if """ wPOSIX wPOSIX is a minimal POSIX binding whose goal is to help with building cross-platforms applications. This binding is not complete though, as the Win32 API does not provide the necessary support for all POSIX APIs. To use the wPOSIX binding you need to use a project file, and adding a single with_clause will give you full access to the wPOSIX binding sources and ensure that the proper libraries are passed to the linker. with "wposix"; project P is for Sources use ...; end P; To build the application you just need to call gprbuild for the application’s project, here p.gpr: gprbuild p.gpr """ is sufficient to get POSIX threading... I don't see anything in https://github.com/AdaCore/wposix/tree/master/src that seems specific to threading -- Wulfraed Dennis Lee Bieber AF6VN wlfraed@ix.netcom.com http://wlfraed.microdiversity.freeddns.org/