diff options
| author | 2021-11-22 10:27:36 -0600 | |
|---|---|---|
| committer | 2021-12-13 12:04:45 -0600 | |
| commit | bbda86e988d4c124e4cfa816291cbd583ae8bfb1 (patch) | |
| tree | b0d36a233c14df7e3a76cf608a3a956ac58b90a7 /include/linux | |
| parent | exit: Stop exporting do_exit (diff) | |
| download | linux-dev-bbda86e988d4c124e4cfa816291cbd583ae8bfb1.tar.xz linux-dev-bbda86e988d4c124e4cfa816291cbd583ae8bfb1.zip | |
exit: Implement kthread_exit
The way the per task_struct exit_code is used by kernel threads is not
quite compatible how it is used by userspace applications. The low
byte of the userspace exit_code value encodes the exit signal. While
kthreads just use the value as an int holding ordinary kernel function
exit status like -EPERM.
Add kthread_exit to clearly separate the two kinds of uses.
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/kthread.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/kthread.h b/include/linux/kthread.h index 346b0f269161..22c43d419687 100644 --- a/include/linux/kthread.h +++ b/include/linux/kthread.h @@ -70,6 +70,7 @@ void *kthread_probe_data(struct task_struct *k); int kthread_park(struct task_struct *k); void kthread_unpark(struct task_struct *k); void kthread_parkme(void); +void kthread_exit(long result) __noreturn; int kthreadd(void *unused); extern struct task_struct *kthreadd_task; |
