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,c7cbae112ac5e4c3,start X-Google-Attributes: gid103376,public From: Thomas Handler Subject: Tasking and preemption Date: 1998/12/11 Message-ID: <36714AA1.96BD1AC5@systems.at>#1/1 X-Deja-AN: 421230407 Content-Transfer-Encoding: 7bit Organization: SYSTEMS AG Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 Newsgroups: comp.lang.ada Date: 1998-12-11T00:00:00+00:00 List-Id: Hi to everyone! I'm trying to get into Ada and have now passed the tasking mechanism provided by Ada95. My problem is that my understanding of preempting seems not to match with that of my system ;-) I'm using GNAT 3.09p on Linux with libpthreads and when doing a simple program with two tasks where each task body is simply puttnig a string in a loop to the screen the tasks seem to have a real cooperative behavior, i.e. Task B starts working after Task A has finished (independent of the length of the loop). Building a delay into the loop has the desired effect. So my question is: In the RM preemption is based on calling blocking statements (like delay), as far as I understand there is no definition of thread supported preemption. Is this true (i.e. I have to take care in my program to make calls to blocking statements) or am I terribly wrong? Any hints will be greatly appreciated Thomas Handler