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=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,1c3d4536a687b7b0 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2000-09-07 22:49:17 PST Path: supernews.google.com!sn-xit-02!sn-east!supernews.com!news-feed.riddles.org.uk!freenix!fr.usenet-edu.net!usenet-edu.net!proxad.net!nerim.net!codeine.org!newsfeeds.belnet.be!news.belnet.be!news-x.support.nl!bullseye.news.demon.net!demon!news.demon.co.uk!demon!pogner.demon.co.uk!not-for-mail From: Simon Wright Newsgroups: comp.lang.ada Subject: Re: Ada 95 tasking problems with Ada 83 code Date: 07 Sep 2000 06:35:51 +0100 Organization: At Home Message-ID: References: <39ADAE51.30550667@mtws.visicom.com> <39ADD3A3.381DEF17@ix.netcom.com> <39AF20CE.FDBDFFFE@mtws.visicom.com> <39AF2DEC.71D8B897@ix.netcom.com> <39B046AE.A05C82AA@mtws.visicom.com> <39B5298A.177B7C15@ix.netcom.com> <39B5AE43.D2EA477C@mtws.visicom.com> NNTP-Posting-Host: localhost X-NNTP-Posting-Host: pogner.demon.co.uk:158.152.70.98 X-Trace: news.demon.co.uk 968392096 nnrp-09:7920 NO-IDENT pogner.demon.co.uk:158.152.70.98 X-Complaints-To: abuse@demon.net X-Newsreader: Gnus v5.5/Emacs 20.3 Xref: supernews.google.com comp.lang.ada:543 Date: 2000-09-07T06:35:51+01:00 List-Id: Wayne Lydecker writes: > That was exactly what I had in mind. The majority of our tasks (~75) > are used to synchronize access to the databases. Most of the rest are > for alarm clocks, which were poorly implemented. I agree 100% that a > good tasking model works fine for 100+ tasks, but when the tasks have > infinite loops with a "delay duration'small" to allow a context switch > for a type of "round robin" scheduling, it's time for a redesign (which > is really what I want to do). Good plan! (you may need to look at protected types and semaphores, mutexes built on them for the synchronisation aspects). Did you spot Jeff Creem's post about the GNAT tasking implementations available on Linux? the default (rts-fsu) runs all tasks in the context of one process -- block one on I/O and you've blocked them all. Switch to rts-native.