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,ba1aca63404e5c35,start
X-Google-Attributes: gid103376,public
From: Thomas Handler
Subject: ATC and OS calls
Date: 1999/02/05
Message-ID: <36BB6AA1.DCF47A11@umundum.vol.at>#1/1
X-Deja-AN: 441131614
Content-Transfer-Encoding: 7bit
Organization: Toemmsn's Homeoffice
Content-Type: text/plain; charset=us-ascii
Mime-Version: 1.0
Newsgroups: comp.lang.ada
Date: 1999-02-05T00:00:00+00:00
List-Id:
Hi!
I had a look to some Ada books covering Ada's tasking capabilities.
Regarding ATC I had an implementation idea for some sort of problem and
made some tests to check wether my idea will work or not, since I had no
idea how GNAT will implement ATC and how the implementation interacts
with OS calls (select() on Intel-Linux in this case).
So I did a simple loop containing a
select
delay 1.0;
then abort
-- preparing FD set
-- calling select
end select;
After running for a while the test application stopped with a GPF and
the register contents and from that moment on no further select calls
seemed to work on the system, so a reboot was necessary.
Since every doc I have studied so far doesn't tell me much about ATC it
seems clear to me that aborting a call that allocates some memory
dynamic via ATC will cause troubles.
Any comments from the pros?
Thomas Handler
|