]> Zhao Yanbai Git Server - minix.git/commitdiff
give sys_fork() a real endpoint_t * arg
authorBen Gras <ben@minix3.org>
Wed, 23 Sep 2009 10:48:57 +0000 (10:48 +0000)
committerBen Gras <ben@minix3.org>
Wed, 23 Sep 2009 10:48:57 +0000 (10:48 +0000)
include/minix/syslib.h
lib/syslib/sys_fork.c

index 355e82adb4df7aa86d0cc4fbb38be95e9d076bd7..d4772e59a1378b68e075732f78439a149490168c 100755 (executable)
@@ -34,7 +34,7 @@ _PROTOTYPE( int sys_abort, (int how, ...));
 _PROTOTYPE( int sys_enable_iop, (endpoint_t proc_ep));
 _PROTOTYPE( int sys_exec, (endpoint_t proc_ep, char *ptr,  
                                char *aout, vir_bytes initpc));
-_PROTOTYPE( int sys_fork, (endpoint_t parent, endpoint_t child, int *,
+_PROTOTYPE( int sys_fork, (endpoint_t parent, endpoint_t child, endpoint_t *,
        struct mem_map *ptr, u32_t vm, vir_bytes *));
 _PROTOTYPE( int sys_newmap, (endpoint_t proc_ep, struct mem_map *ptr));
 _PROTOTYPE( int sys_exit, (endpoint_t proc_ep));
index 1aa4c90347f9dd5349dc1afedf8f4b617b5335f3..50035847d95157788b3054b94ffe889774dec73e 100755 (executable)
@@ -3,7 +3,7 @@
 PUBLIC int sys_fork(parent, child, child_endpoint, map_ptr, flags, msgaddr)
 endpoint_t parent;             /* process doing the fork */
 endpoint_t child;              /* which proc has been created by the fork */
-int *child_endpoint;
+endpoint_t *child_endpoint;
 struct mem_map *map_ptr;
 u32_t flags;
 vir_bytes *msgaddr;
@@ -19,6 +19,6 @@ vir_bytes *msgaddr;
   m.PR_FORK_FLAGS = flags;
   r = _taskcall(SYSTASK, SYS_FORK, &m);
   *child_endpoint = m.PR_ENDPT;
-  *msgaddr = m.PR_FORK_MSGADDR;
+  *msgaddr = (vir_bytes) m.PR_FORK_MSGADDR;
   return r;
 }