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

include/minix/callnr.h
include/minix/ipc.h
lib/libc/sys-minix/getppid.c
servers/pm/getset.c

index 8cfc1fcf0eda24d8a9cb88c1a63d8c5113950335..fa149aae225805e69938c2527f7eaccf6496a38c 100644 (file)
@@ -85,9 +85,6 @@
 #define PM_SIG_SET             m2_sigset /* sigset_t */
 #define PM_SIG_CTX             m2_p1   /* struct sigcontext * */
 
-/* Field names for the getppid(2) call. */
-#define PM_GETPID_PARENT       m2_i1   /* pid_t */
-
 /* Field names for the setsid(2) call. */
 #define PM_GETSID_PID          m1_i1   /* pid_t */
 
index 9906261a121db2893cbd111fec387896a5302eaa..bdd1758ea0048e3154a8c418fcc3b9feb425ce14 100644 (file)
@@ -575,6 +575,13 @@ typedef struct {
 } mess_pm_lc_getgid;
 _ASSERT_MSG_SIZE(mess_pm_lc_getgid);
 
+typedef struct {
+       pid_t parent_pid;
+
+       uint8_t padding[52];
+} mess_pm_lc_getpid;
+_ASSERT_MSG_SIZE(mess_pm_lc_getpid);
+
 typedef struct {
        uid_t euid;
 
@@ -1092,6 +1099,7 @@ typedef struct {
                mess_pm_lexec_exec_new  m_pm_lexec_exec_new;
 
                mess_pm_lc_getgid       m_pm_lc_getgid;
+               mess_pm_lc_getpid       m_pm_lc_getpid;
                mess_pm_lc_getuid       m_pm_lc_getuid;
                mess_pm_lc_ptrace       m_pm_lc_ptrace;
                mess_pm_lc_time         m_pm_lc_time;
index 02c804ada4366c744392fbe34e71fac773cab3bf..b3c58bdb02260115f8628f850a304037bd02ff3d 100644 (file)
@@ -15,6 +15,6 @@ pid_t getppid(void)
    * are not always successful and Minix returns the reserved value
    * (pid_t) -1 when there is an error.
    */
-  if (_syscall(PM_PROC_NR, PM_GETPID, &m) < 0) return ( (pid_t) -1);
-  return( (pid_t) m.PM_GETPID_PARENT);
+  if (_syscall(PM_PROC_NR, PM_GETPID, &m) < 0) return(-1);
+  return(m.m_pm_lc_getpid.parent_pid);
 }
index ac4f2f78cd0cf02a90c4187578ab0719f3341921..b5263c0333a9d6cf82740b6fbfe278ca0fe7b787 100644 (file)
@@ -59,7 +59,7 @@ int do_get()
 
        case PM_GETPID:
                r = mproc[who_p].mp_pid;
-               rmp->mp_reply.PM_GETPID_PARENT = mproc[rmp->mp_parent].mp_pid;
+               rmp->mp_reply.m_pm_lc_getpid.parent_pid = mproc[rmp->mp_parent].mp_pid;
                break;
 
        case PM_GETPGRP: