comp.lang.ada
 help / color / mirror / Atom feed
From: "Sean Lane Fuller" <fuller@hap.arnold.af.mil>
Subject: Question: VADSself Ada Tasking on DEC Alpha Digital UNIX Multiprocessor
Date: 1997/04/22
Date: 1997-04-22T00:00:00+00:00	[thread overview]
Message-ID: <01bc4f41$f609fed0$0b598986@greg2> (raw)


Help.  It seems to me that on the DEC Alpha
platform, Ada tasking does not free up
allocated task memory after the task has
exited.  Is this right?  Is there a work around?
I have attached a small sample code that should be able
to run forever, but instead steadily allocates memory.
I can leave out the unchecked_deallocation
in the sample code and I get the same problem.
The problem does not exist on the NT platform.
I hope you can help me out.  Reply to fuller@hap.arnold.af.mil.
Thanks.  I'll summarize the replies back to the
newsgroup if anybody mails me expressing an interest.

with text_io; use text_io;
with unchecked_deallocation;

procedure swamp is
        task type tiny_task;
        task body tiny_task is
        begin
                delay 1.0;
        end;
begin
        declare
                type access_tiny_task is access tiny_task;
                n : access_tiny_task;
                procedure free is new
                        unchecked_deallocation(tiny_task,
access_tiny_task);
        begin
                while true
                loop
                        n := new tiny_task;
                        while n'callable
                        loop    delay 0.1;
                        end loop;
                        free(n);
                end loop;
        end;
end;





             reply	other threads:[~1997-04-22  0:00 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-04-22  0:00 Sean Lane Fuller [this message]
1997-04-27  0:00 ` Question: VADSself Ada Tasking on DEC Alpha Digital UNIX Multiprocessor Robert Dewar
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox