From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paleologos Spanos To: Jonathan Larmour Cc: ecos-discuss@sources.redhat.com Subject: Re: [ECOS] cyg_thread_resume Date: Wed, 17 Jan 2001 17:04:00 -0000 Message-id: References: <3A663790.9BB5C70F@redhat.com> X-SW-Source: 2001-01/msg00296.html 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 >