comp.lang.ada
 help / color / mirror / Atom feed
* Question: VADSself Ada Tasking on DEC Alpha Digital UNIX Multiprocessor
@ 1997-04-22  0:00 Sean Lane Fuller
  1997-04-27  0:00 ` Robert Dewar
  0 siblings, 1 reply; 2+ messages in thread
From: Sean Lane Fuller @ 1997-04-22  0:00 UTC (permalink / 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;





^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Question: VADSself Ada Tasking on DEC Alpha Digital UNIX Multiprocessor
  1997-04-22  0:00 Question: VADSself Ada Tasking on DEC Alpha Digital UNIX Multiprocessor Sean Lane Fuller
@ 1997-04-27  0:00 ` Robert Dewar
  0 siblings, 0 replies; 2+ messages in thread
From: Robert Dewar @ 1997-04-27  0:00 UTC (permalink / raw)



Sean Lane Fuller says

<<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.>>

That is to be expected on most Ada 83 implementations given the Rosen
anomoly, for which there used to be an ACVC test (this is the test
that makes sure that you can test 'Terminated of dead tasks .. the
easiest solution to this is just to keep all tasks around till the
type is out of scope.





^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~1997-04-27  0:00 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-04-22  0:00 Question: VADSself Ada Tasking on DEC Alpha Digital UNIX Multiprocessor Sean Lane Fuller
1997-04-27  0:00 ` Robert Dewar

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