Author: hselasky
Date: Fri Apr  5 11:19:07 2019
New Revision: 345923
URL: https://svnweb.freebsd.org/changeset/base/345923

Log:
  MFC r345098:
  Implement current_exiting() in the LinuxKPI.
  
  Submitted by:         Johannes Lundberg <[email protected]>
  Sponsored by:         Limelight Networks
  Sponsored by:         Mellanox Technologies

Modified:
  stable/12/sys/compat/linuxkpi/common/include/linux/sched.h
  stable/12/sys/compat/linuxkpi/common/src/linux_current.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/compat/linuxkpi/common/include/linux/sched.h
==============================================================================
--- stable/12/sys/compat/linuxkpi/common/include/linux/sched.h  Fri Apr  5 
11:17:27 2019        (r345922)
+++ stable/12/sys/compat/linuxkpi/common/include/linux/sched.h  Fri Apr  5 
11:19:07 2019        (r345923)
@@ -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/12/sys/compat/linuxkpi/common/src/linux_current.c
==============================================================================
--- stable/12/sys/compat/linuxkpi/common/src/linux_current.c    Fri Apr  5 
11:17:27 2019        (r345922)
+++ stable/12/sys/compat/linuxkpi/common/src/linux_current.c    Fri Apr  5 
11:19:07 2019        (r345923)
@@ -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)
 {


_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to