]> Zhao Yanbai Git Server - minix.git/commitdiff
Message type for SYS_CLEAR
authorLionel Sambuc <lionel@minix3.org>
Mon, 26 May 2014 10:12:11 +0000 (12:12 +0200)
committerLionel Sambuc <lionel@minix3.org>
Mon, 28 Jul 2014 15:05:49 +0000 (17:05 +0200)
Change-Id: I3d894edcf672d180aee38fd84bd06339bdf7fa9b

include/minix/com.h
include/minix/ipc.h
kernel/system/do_clear.c
lib/libsys/sys_clear.c

index 3c30633c4472b55b0900099535b960d0ae4b8e2e..3bde3d3ad2a97e393a046d81e5777761a1a50e20 100644 (file)
 #define SYS_PRIV_UPDATE_SYS    9       /* Update a sys privilege structure. */
 #define SYS_PRIV_YIELD        10       /* Allow process to run and suspend */
 
-/* Field names for SYS_FORK, _EXEC, _EXIT, GETMCONTEXT, SETMCONTEXT.*/
-#define PR_ENDPT        m1_i1  /* indicates a process */
-
 /* Constants for exec. FIXME: these do not belong here. */
 #define PMEF_AUXVECTORS        20
 #define PMEF_EXECNAMELEN1 PATH_MAX
index fc0f2f3f856fa5bc64565d517b3618bfd1adc27a..ee423e56a862f1d4f1e9833a56bf453c44fd81c8 100644 (file)
@@ -707,6 +707,13 @@ typedef struct {
 } mess_lsys_krn_sys_abort;
 _ASSERT_MSG_SIZE(mess_lsys_krn_sys_abort);
 
+typedef struct {
+       endpoint_t endpt;
+
+       uint8_t padding[52];
+} mess_lsys_krn_sys_clear;
+_ASSERT_MSG_SIZE(mess_lsys_krn_sys_clear);
+
 typedef struct {
        endpoint_t src_endpt;
        vir_bytes src_addr;
@@ -1694,6 +1701,7 @@ typedef struct {
                mess_lsys_krn_schedctl  m_lsys_krn_schedctl;
                mess_lsys_krn_schedule  m_lsys_krn_schedule;
                mess_lsys_krn_sys_abort m_lsys_krn_sys_abort;
+               mess_lsys_krn_sys_clear m_lsys_krn_sys_clear;
                mess_lsys_krn_sys_copy  m_lsys_krn_sys_copy;
                mess_lsys_krn_sys_exec  m_lsys_krn_sys_exec;
                mess_lsys_krn_sys_fork  m_lsys_krn_sys_fork;
index 5a9abf9a5108a4d21888aaf954bf683aa1d2e5c5..372b28f89c126ebb008de33c508291b43957e746 100644 (file)
@@ -2,7 +2,7 @@
  *   m_type:   SYS_CLEAR
  *
  * The parameters for this kernel call are:
- *    m1_i1:   PR_ENDPT                (endpoint of process to clean up)
+ *   m_lsys_krn_sys_clear.endpt                (endpoint of process to clean up)
  */
 
 #include "kernel/system.h"
@@ -26,7 +26,8 @@ int do_clear(struct proc * caller, message * m_ptr)
   int exit_p;
   int i;
 
-  if(!isokendpt(m_ptr->PR_ENDPT, &exit_p)) { /* get exiting process */
+  if(!isokendpt(m_ptr->m_lsys_krn_sys_clear.endpt, &exit_p)) {
+      /* get exiting process */
       return EINVAL;
   }
   rc = proc_addr(exit_p);      /* clean up */
@@ -77,4 +78,3 @@ int do_clear(struct proc * caller, message * m_ptr)
 }
 
 #endif /* USE_CLEAR */
-
index e5f9a25a770751f4b0ec12b7dbd40559f029a305..296eb3c49077ceea224a18a9aa7f65110ad90d7d 100644 (file)
@@ -10,6 +10,6 @@ endpoint_t proc_ep;                   /* which process has exited */
  */
   message m;
 
-  m.PR_ENDPT = proc_ep;
+  m.m_lsys_krn_sys_clear.endpt = proc_ep;
   return(_kernel_call(SYS_CLEAR, &m));
 }