exit: Rename complete_and_exit to kthread_complete_and_exit
Update complete_and_exit to call kthread_exit instead of do_exit. Change the name to reflect this change in functionality. All of the users of complete_and_exit are causing the current kthread to exit so this change makes it clear what is happening. Move the implementation of kthread_complete_and_exit from kernel/exit.c to to kernel/kthread.c. As this function is kthread specific it makes most sense to live with the kthread functions. There are no functional change. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
This commit is contained in:
@@ -283,6 +283,27 @@ void __noreturn kthread_exit(long result)
|
||||
do_exit(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* kthread_complete_and exit - Exit the current kthread.
|
||||
* @comp: Completion to complete
|
||||
* @code: The integer value to return to kthread_stop().
|
||||
*
|
||||
* If present complete @comp and the reuturn code to kthread_stop().
|
||||
*
|
||||
* A kernel thread whose module may be removed after the completion of
|
||||
* @comp can use this function exit safely.
|
||||
*
|
||||
* Does not return.
|
||||
*/
|
||||
void __noreturn kthread_complete_and_exit(struct completion *comp, long code)
|
||||
{
|
||||
if (comp)
|
||||
complete(comp);
|
||||
|
||||
kthread_exit(code);
|
||||
}
|
||||
EXPORT_SYMBOL(kthread_complete_and_exit);
|
||||
|
||||
static int kthread(void *_create)
|
||||
{
|
||||
static const struct sched_param param = { .sched_priority = 0 };
|
||||
|
||||
Reference in New Issue
Block a user