]> Zhao Yanbai Git Server - minix.git/commitdiff
Removed sys_exit() kernel call.
authorJorrit Herder <jnherder@minix3.org>
Fri, 24 Jun 2005 16:19:41 +0000 (16:19 +0000)
committerJorrit Herder <jnherder@minix3.org>
Fri, 24 Jun 2005 16:19:41 +0000 (16:19 +0000)
lib/syslib/Makefile
lib/syslib/sys_exit.c [deleted file]
lib/syslib/sys_xit.c
lib/utils/panic.c

index 4fb9a37531121986c23aad2ecb9816c365a3a30e..754cef428de5451d3efad343e4b1af78d798aa53 100755 (executable)
@@ -27,7 +27,6 @@ OBJECTS       = \
        $(LIBSYS)(sys_eniop.o) \
        $(LIBSYS)(sys_segctl.o) \
        $(LIBSYS)(sys_umap.o) \
-       $(LIBSYS)(sys_exit.o) \
        $(LIBSYS)(sys_physcp.o) \
        $(LIBSYS)(sys_vircp.o) \
        $(LIBSYS)(sys_in.o) \
@@ -95,9 +94,6 @@ $(LIBSYS)(sys_segctl.o):      sys_segctl.c
 $(LIBSYS)(sys_umap.o): sys_umap.c
        $(CC1) sys_umap.c
 
-$(LIBSYS)(sys_exit.o): sys_exit.c
-       $(CC1) sys_exit.c
-
 $(LIBSYS)(sys_getsig.o):       sys_getsig.c
        $(CC1) sys_getsig.c
 
diff --git a/lib/syslib/sys_exit.c b/lib/syslib/sys_exit.c
deleted file mode 100644 (file)
index 770366c..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-#include "syslib.h"
-
-/*===========================================================================*
- *                              sys_exit                                    *
- *===========================================================================*/
-PUBLIC int sys_exit(int status)
-{
-/* A server wants to exit. The exit status is passed on, possibly a panic.
- */
-  message m;
-  m.EXIT_STATUS = status;
-  return(_taskcall(SYSTASK, SYS_EXIT, &m));
-  /* NOT REACHED */
-}
-
index 0702686af14f03362b03d79da10873a5233c42be..78c15ebd09d3a69743b65ac85fcb2181727235eb 100755 (executable)
@@ -3,15 +3,15 @@
 /*===========================================================================*
  *                                sys_xit                                   *
  *===========================================================================*/
-PUBLIC int sys_xit(parent, proc)
-int parent;                    /* parent of exiting process */
+PUBLIC int sys_xit(proc)
 int proc;                      /* which process has exited */
 {
-/* A process has exited.  Tell the kernel. */
-
+/* A process has exited. PM tells the kernel. In addition this call can be
+ * used by system processes to directly exit without passing through the
+ * PM. This should be used with care to prevent inconsistent PM tables. 
+ */
   message m;
 
-  m.PR_PPROC_NR = parent;
   m.PR_PROC_NR = proc;
   return(_taskcall(SYSTASK, SYS_XIT, &m));
 }
index e3fd88e39d62d0ff190322088f87dd11de2e38a2..bf5e1385329af63e896660bb0c357e9a9ee15e20 100644 (file)
@@ -22,9 +22,9 @@ int num;                      /* number to go with format string */
       }
   }
 
-  m.m_type = SYS_EXIT;
-  m.EXIT_STATUS = 1;
-  _taskcall(SYSTASK, SYS_EXIT, &m);
+  m.m_type = SYS_XIT;
+  m.PR_PROC_NR = SELF;
+  _taskcall(SYSTASK, SYS_XIT, &m);
   /* never reached */
 }