This is the mail archive of the ecos-discuss@sourceware.cygnus.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Threads that end



Hi !

Thanks for the confirmation. Now, how do I detect from another thread that one thread is "finished" so i can delete it ?
I don't have any locks in those two threads, so hanging on a resurce doesn't happen. I just want my memory back :).

But, just an idea, your giving a stack to the thread to run in. If the thread allocates any local variables, the are on the threads
stack ?
Then I would be able to just kill the thread and then create a new thread, with the old "stack" as parameter to the cy_thread_create
?

yours
Jens





ecos-discuss-owner@sourceware.cygnus.com
2000-06-29 18:43


To:   jens.ohlund@secrc.abb.se
cc:   ecos-discuss@sourceware.cygnus.com, Robert Erskine <roberte@redhat.co.uk>
Subject:  Re: [ECOS] Threads that end

Security Level:?         Internal


jens.ohlund@secrc.abb.se wrote:
>
> Hi !
>
> I wonder what happens when a thread leaves the method it was given to run when created.
> Does it just "run away" or does it "die" (suspend) or what ?
>
[snip]
> Does the thread leaves the method, frees up resources and turns to a suspend mode ?

It doesn't free up resources, but it does suspend.

> If it does, does that mean I have to delete it afterwards to make it disaper in the scheduler ?

Indeed so, use cyg_thread_delete() for that. See

http://sourceware.cygnus.com/ecos/docs-latest/ref/ecos-ref.9.html#pgfId=1088577
[ although Robert take note: the HTML fonts in this bit are all wrong ]

In summary, cyg_thread_kill() sends a kill message to a thread, causing it
to wake up and return an error message from whatever it's locked in the
kernel doing. cyg_thread_delete() deregisters the thread from the
scheduler, freeing up the thread resources (although not any resources
allocated by the thread itself, if you see what I mean).

Jifl
--
Red Hat, 35 Cambridge Place, Cambridge, UK. CB2 1NS  Tel: +44 (1223) 728762
"Plan to be spontaneous tomorrow."  ||  These opinions are all my own fault






Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]