Re: stop threads failed!

From: Nauman Tahir
Date: Mon Dec 19 2005 - 01:41:46 EST


On 12/18/05, Hua Feijun <hua.feijun@xxxxxxxxx> wrote:
> Sorry, I couldn't describe the problem clearly.I means these threads
> did not go to sleep'in fact, they didn't stop runing.
>

Kindly also CC this to linux-kernel as well so that you have more
chances to get the solution of your problem.
It seems to me that you may have missed SIG_PENDING at the time when
you setup your thread. You will have to signal your thread to kill it.
Just setting up TASK STATE is not enough untill the process gets
scheduled or it gets the signal to kill itself explicitly


> 2005/12/18, Nauman Tahir <nauman.tahir@xxxxxxxxx>:
> > On 12/17/05, Hua Feijun <hua.feijun@xxxxxxxxx> wrote:
> > > I want to set threads's status to TASK_STOPPED by the following
> > > code.The syslog has show this rourine has been executed,buf the thread
> > > is still running.Who can tell me the reason?Thanks very much!
> > > write_lock(&tasklist_lock);
> > > do
> > > {
> > > printk("set threads stopped\n");
> > > p->state = TASK_STOPPED;
> > > } while ((p = next_thread(p)) != leader);
> > > write_unlock(&tasklist_lock);
> > > schedule();
> > > -
> >
> > Have you specified the state TASK_INTERRUPTIBLE when you wake up the
> > thread? If not then do it to ba able to stop it later.
> > Anybody else correct me if I am wrong please
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/