From: Anh Vo <anhvofrcaus@gmail.com>
Subject: Re: Tasks reinitializing
Date: Thu, 17 Sep 2009 15:39:38 -0700 (PDT)
Date: 2009-09-17T15:39:38-07:00 [thread overview]
Message-ID: <27127316-ac19-49e0-bb05-1f49ba1a7c4e@v23g2000pro.googlegroups.com> (raw)
In-Reply-To: 77eaa11a-79c8-43ff-95d5-0e707a445369@u16g2000pru.googlegroups.com
On Sep 17, 2:42 pm, Adam Beneschan <a...@irvine.com> wrote:
> On Sep 17, 11:21 am, Pablo <pablit...@gmail.com> wrote:
>
> > How can I reinitialize a task?
> > Say us, I have two cases:
> > A task defined as
> > task type Task_type is
> > entry Start;
> > end Task_type;
> > so the object defined as
> > Init : Init_type;
>
> You mean Init : Task_Type, I presume??
>
> > and inside a procedure, the task is initialized with
> > accept Start;
>
> > and now:
> > 1) In run time, the task is terminated by aborting process (abort
> > Init) before its end, and in the same session, I need to turn it on
> > again, but now from the beginning.
> > 2) In run time, the task is finished by very end, and in the same
> > session, I need to start it again from beginning.
>
> > Please help me!
>
> You'll need to create a new task object. If you declare an object
>
> Init : Task_Type;
>
> and it's declared as a local variable inside a procedure Proc1, the
> only way it's going to get reinitialized is if Proc1 exits and starts
> up again. If Init is declared in a library package, then it's never
> going to happen.
>
> You may want to try using an access:
>
> type Task_Type_Acc is access Task_Type;
>
> Init : Task_Type_Acc := new Task_Type;
>
> When you allocate a new Task_Type with "new", that will start a task
> up. If, after the task finishes, you want to start a new one, you can
> assign
>
> Init := new Task_Type;
>
> at any point, and it will start a new task. I think that's probably
> what you want.
Just to make it complete, I would recommend deallocating memory,
before starting a new task, to prevent memory leaks.
Anh Vo
next prev parent reply other threads:[~2009-09-17 22:39 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-17 18:21 Tasks reinitializing Pablo
2009-09-17 21:42 ` Adam Beneschan
2009-09-17 22:39 ` Anh Vo [this message]
2009-09-18 5:44 ` sjw
2009-09-18 7:57 ` Dmitry A. Kazakov
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox