[ECOS] cyg_thread_resume

Paleologos Spanos paleolog@ee.ucla.edu
Wed Jan 17 17:04:00 GMT 2001


 As I mentioned the cyg_thread_kill and cyg_thread_resume are called by
the scheduler and not by a thread.
 Actually I want my scheduler  to stop a desired thread and restart it
from the beginning(resume it at a desired point in time and start
execution from the starting point of the thread's code.)


                           Thank you.
On Thu, 18 Jan 2001, Jonathan Larmour wrote:

> Paleologos Spanos wrote:
> > 
> >  Hi,I have a problem using the cyg_thread_resume function.
> > I have configured the scheduler to have the bitmap scheduler.I tried to
> > modify the scheduler so as to test if it is possible to resume an exited
> > thread.However,the thread's state didn't change.
> >  What I did was to add after the if loop in line :161 in the sched.cxx
> > file the below code :
> > Cyg_Thread  *current = Cyg_Scheduler::get_current_thread();
> >      cyg_thread_kill ((cyg_handle_t) current);
> >        cyg_thread_resume((cyg_handle_t) current);
> > 
> > I have 2 threads on the application level and I would expect that the
> > output should be
> > 
> >  execution of thread1
> >  (resume thread1)
> >  execution of thread1
> >  (resume thread1)
> > execution of thread1
> > ....
> > ....
> > 
> >  I tested these commands without the cyg_thread_resume and the thread was
> > stopped(because of the cyg_thread_kill i suppose).
> >  However adding  the command ofcyg_thread_resume does not restart the
> > thread.Why?
> > 
> >  What am I doing wrong?
> 
> Uh... you just killed yourself so you aren't running any more, so how can
> you then resume? Another thread has to resume you.
> 
> Jifl
> -- 
> Red Hat, Rustat House, Clifton Road, Cambridge, UK. Tel: +44 (1223) 271062
> Un cheval, pas du glue. Pas du cheval, beaucoup du glue. || Opinions==mine
> 



More information about the Ecos-discuss mailing list