Implement current_exiting() in the LinuxKPI.

Submitted by:		Johannes Lundberg <johalun0@gmail.com>
MFC after:		1 week
Sponsored by:		Limelight Networks
Sponsored by:		Mellanox Technologies
This commit is contained in:
Hans Petter Selasky 2019-03-13 18:51:33 +00:00
parent 845a91ce0b
commit 638fa5a36f
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=345098
2 changed files with 21 additions and 0 deletions

View File

@ -143,6 +143,11 @@ linux_schedule_save_interrupt_value(struct task_struct *task, int value)
task->bsd_interrupt_value = value;
}
bool linux_task_exiting(struct task_struct *task);
#define current_exiting() \
linux_task_exiting(current)
static inline int
linux_schedule_get_interrupt_value(struct task_struct *task)
{

View File

@ -215,6 +215,22 @@ linux_get_pid_task(pid_t pid)
return (NULL);
}
bool
linux_task_exiting(struct task_struct *task)
{
struct proc *p;
bool ret;
ret = false;
p = pfind(task->pid);
if (p != NULL) {
if ((p->p_flag & P_WEXIT) != 0)
ret = true;
PROC_UNLOCK(p);
}
return (ret);
}
static void
linux_current_init(void *arg __unused)
{