Re: [PATCH 1/2] kthread_create

Davide Libenzi
2004-01-04T23:03:10Z

On Sun, 4 Jan 2004, Rusty Russell wrote:

> In message <Pine.LNX.4.44.0401032039350.2022-100000@bigblue.dev.mdolabs.com> you write:
> > > You can get around (2) by having a permenant parent "kthread" thread
> > > which is a parent to all the kthreads (it'll get a SIGCHLD when
> > > someone does "do_exit()"). But the implementation was pretty ugly,
> > > since it involved having a communications mechanism with the kthread
> > > parent, which means you have the global ktm_message-like-thing for
> > > this...
> >
> > You will lose in any case. What happens if the thread does do_exit() and
> > you do kthread_stop() after that?
>
> That's illegal. Either your thread exits, or you call kthread_stop().
>
> > With the patch I posted to you, the kthread_stop() will simply miss the
> > lookup and return -ENOENT.
>
> Or find some other random kthread which has reused the task struct and
> kill that 8(

I can see two options:

1) We do not allow do_exit() from kthreads

2) We give kthread_exit()

What do you think?

- Davide