]> Zhao Yanbai Git Server - minix.git/commitdiff
Message type for PM_EXIT
authorLionel Sambuc <lionel@minix3.org>
Tue, 13 May 2014 15:33:27 +0000 (17:33 +0200)
committerLionel Sambuc <lionel@minix3.org>
Mon, 28 Jul 2014 15:05:42 +0000 (17:05 +0200)
Change-Id: Ie78768d95358a701268129587074a48493cf5bbc

include/minix/callnr.h
include/minix/ipc.h
lib/libc/sys-minix/_exit.c
servers/pm/forkexit.c

index d25acace829469e9a1b7468e6bec8574f3a1c9e9..76c278d4b48b6e5bfc46db0b644d26da0701fb03 100644 (file)
@@ -61,9 +61,6 @@
 
 #define NR_PM_CALLS            48      /* highest number from base plus one */
 
-/* Field names for the exit(2) call. */
-#define PM_EXIT_STATUS         m1_i1   /* int */
-
 /* Field names for the kill(2), srv_kill(2), and sigaction(2) calls. */
 #define PM_SIG_PID             m1_i1   /* pid_t */
 #define PM_SIG_NR              m1_i2   /* int */
index c2d9d6790931474f5d6fd3ad2055a406d8144df2..39ca32d9f8556d5bd197884f5d21478f5ee2a4cc 100644 (file)
@@ -156,6 +156,13 @@ typedef struct {
 } mess_lc_pm_exec;
 _ASSERT_MSG_SIZE(mess_lc_pm_exec);
 
+typedef struct {
+       int status;
+
+       uint8_t padding[52];
+} mess_lc_pm_exit;
+_ASSERT_MSG_SIZE(mess_lc_pm_exit);
+
 typedef struct {
        pid_t pid;
 
@@ -1076,6 +1083,7 @@ typedef struct {
                mess_fs_vfs_readwrite   m_fs_vfs_readwrite;
 
                mess_lc_pm_exec         m_lc_pm_exec;
+               mess_lc_pm_exit         m_lc_pm_exit;
                mess_lc_pm_getsid       m_lc_pm_getsid;
                mess_lc_pm_groups       m_lc_pm_groups;
                mess_lc_pm_itimer       m_lc_pm_itimer;
index 2eff9f661a14a4d606a0a0d35efca995e489a350..535adbef6c2d1800fbb768e7b2931b3c899ae082 100644 (file)
@@ -16,7 +16,7 @@ int status;
   message m;
 
   memset(&m, 0, sizeof(m));
-  m.PM_EXIT_STATUS = status;
+  m.m_lc_pm_exit.status = status;
   _syscall(PM_PROC_NR, PM_EXIT, &m);
 
   /* If exiting nicely through PM fails for some reason, try to
index 9e714fd6a85d5655b7ba65c4bc0975816c0545c4..a221d3c9fca4b5374ff7a6ae4fd1fbe52433b754 100644 (file)
@@ -241,7 +241,7 @@ int do_exit()
       sys_kill(mp->mp_endpoint, SIGKILL);
   }
   else {
-      exit_proc(mp, m_in.PM_EXIT_STATUS, FALSE /*dump_core*/);
+      exit_proc(mp, m_in.m_lc_pm_exit.status, FALSE /*dump_core*/);
   }
   return(SUSPEND);             /* can't communicate from beyond the grave */
 }