svn commit: r345924 - in stable/11/sys/compat/linuxkpi/common: include/linux src
Hans Petter Selasky
hselasky at FreeBSD.org
Fri Apr 5 11:19:26 UTC 2019
Author: hselasky
Date: Fri Apr 5 11:19:23 2019
New Revision: 345924
URL: https://svnweb.freebsd.org/changeset/base/345924
Log:
MFC r345098:
Implement current_exiting() in the LinuxKPI.
Submitted by: Johannes Lundberg <johalun0 at gmail.com>
Sponsored by: Limelight Networks
Sponsored by: Mellanox Technologies
Modified:
stable/11/sys/compat/linuxkpi/common/include/linux/sched.h
stable/11/sys/compat/linuxkpi/common/src/linux_current.c
Directory Properties:
stable/11/ (props changed)
Modified: stable/11/sys/compat/linuxkpi/common/include/linux/sched.h
==============================================================================
--- stable/11/sys/compat/linuxkpi/common/include/linux/sched.h Fri Apr 5 11:19:07 2019 (r345923)
+++ stable/11/sys/compat/linuxkpi/common/include/linux/sched.h Fri Apr 5 11:19:23 2019 (r345924)
@@ -143,6 +143,11 @@ linux_schedule_save_interrupt_value(struct task_struct
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)
{
Modified: stable/11/sys/compat/linuxkpi/common/src/linux_current.c
==============================================================================
--- stable/11/sys/compat/linuxkpi/common/src/linux_current.c Fri Apr 5 11:19:07 2019 (r345923)
+++ stable/11/sys/compat/linuxkpi/common/src/linux_current.c Fri Apr 5 11:19:23 2019 (r345924)
@@ -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)
{
More information about the svn-src-all
mailing list