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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,1c3d4536a687b7b0 X-Google-Attributes: gid103376,public From: "Jeff Creem" Subject: Re: Ada 95 tasking problems with Ada 83 code Date: 2000/08/31 Message-ID: <8olddt$1ba$1@pyrite.mv.net>#1/1 X-Deja-AN: 664702348 References: <39ADAE51.30550667@mtws.visicom.com> <39ADD3A3.381DEF17@ix.netcom.com> <39ADDD71.CE3F1203@mtws.visicom.com> X-Priority: 3 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 X-Complaints-To: abuse@mv.com X-Trace: pyrite.mv.net 967719165 1386 199.125.98.164 (31 Aug 2000 10:52:45 GMT) Organization: MV Communications, Inc. X-MSMail-Priority: Normal NNTP-Posting-Date: 31 Aug 2000 10:52:45 GMT Newsgroups: comp.lang.ada Date: 2000-08-31T10:52:45+00:00 List-Id: Is it possible that all of the tasks are the same priority and that your main task (the one doing the rendevous calls) is never giving back the processor so that the other tasks never get to run (on some compilers/environments the run time would round robin on a time slice basis between tasks of equal priority). You can test this by adding delay after you return from calling the tasks entry. If this is the case, the system is not really well put together. You can probably still run with 100 tasks but it will take a little tweaking. The other option is to try switching task models from FSU threads to Linux threads. Finally, if you are not a supported customer of ACT perhaps you should think about becomming one before you spend a lot of money re-architecting code for something that is some simple environment problem. (Note : I am not an ACT employee or consultant or anything..I just hate to see people go down a path of trashing reused code and or compilers when there was some simple fix available all along) I can say that in general I have done things like what you are doing many times with no problems with GNAT on Linux. > I am porting a huge program from Ada 83 on HP-UX to GNAT Ada 95 on a PC > running Linux. Creating the executable was not a big problem, but I > can't get it to run very far. It appears that when a procedure rendezvous' > with a task, the task won't run. The task has a simple accept statement, > and it appears to accept the rendezvous because the calling routine > continues to process. Text_IO calls before and after the accept statement > in the task fail to appear on the screen though. If I put a "do ... end" > on the accept statement then the caller no longer continues (i.e. > suspended). > > Is this a known problem? Is there a solution other then removing all > tasks in our program (over 100). >