]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
hurd: drop elder MACH_IPC_COMPAT handling
authorSamuel Thibault <samuel.thibault@ens-lyon.org>
Sat, 27 Jan 2018 20:40:08 +0000 (21:40 +0100)
committerSamuel Thibault <samuel.thibault@ens-lyon.org>
Sat, 27 Jan 2018 20:40:08 +0000 (21:40 +0100)
This was dropped from GNU Mach in 2006.

* mach/Machrules (MIGFLAGS): Do not set -DMACH_IPC_COMPAT=0.
* mach/mach/mach_traps.h: Drop comment about MACH_IPC_COMPAT.
* sysdeps/mach/hurd/fork.c (__fork): Drop special casing
MACH_IPC_COMPAT.

ChangeLog
mach/Machrules
mach/mach/mach_traps.h
sysdeps/mach/hurd/fork.c

index 4e1e4bf7308b4e81742066455de3fd82eacee8e9..7d7800dbb159762f5b51dca88b0eeafec65afd80 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
        --disable-libcilkrts to gcc configure.
        * sysdeps/mach/hurd/Makefile [$(subdir)==nis]: Add
        -DUSE_BINDINGDIR=1 to CFLAGS-ypclnt.c.
+       * mach/Machrules (MIGFLAGS): Do not set -DMACH_IPC_COMPAT=0.
+       * mach/mach/mach_traps.h: Drop comment about MACH_IPC_COMPAT.
+       * sysdeps/mach/hurd/fork.c (__fork): Drop special casing
+       MACH_IPC_COMPAT.
 
 2018-01-27  James Clarke  <jrtc27@jrtc27.com>
 
index 49e6399b7c60f5a31b4478169be57bf3f239ad31..4f9ec421ec2c3b111c11beb9a53ba08a290f4691 100644 (file)
@@ -51,7 +51,7 @@ $(objpfx)dummy.mk:
        $(make-target-directory)
        echo '# Empty' > $@
 
-MIGFLAGS = -DMACH_IPC_COMPAT=0 -DSTANDALONE -DTypeCheck=0 \
+MIGFLAGS = -DSTANDALONE -DTypeCheck=0 \
           $(+includes) $(migdefines) -subrprefix __
 # Putting CC in the enivronment makes the mig wrapper script
 # use the same compiler setup we are using to run cpp.
index 5e09a95310496bb3bdb24e37b8f1c99c0f9fed04..cefbd2d372ef7f08b126040da143c69f91b328cb 100644 (file)
@@ -17,8 +17,7 @@
 
 /* Declare the few Mach system calls (except mach_msg, in <mach/message.h>).
    This does not include the kernel RPC shortcut calls (in <mach-shortcuts.h>).
-
-   This file omits the MACH_IPC_COMPAT functions.  */
+   */
 
 #ifndef        _MACH_MACH_TRAPS_H
 
index fe3f544f2b8a2cf8ac9550c5416fd8c1856bf1c8..b55eecffc6e21c5229afc013ad715b8e038f86f9 100644 (file)
@@ -213,38 +213,9 @@ __fork (void)
            {
              /* This is a receive right.  We want to give the child task
                 its own new receive right under the same name.  */
-             err = __mach_port_allocate_name (newtask,
-                                              MACH_PORT_RIGHT_RECEIVE,
-                                              portnames[i]);
-             if (err == KERN_NAME_EXISTS)
-               {
-                 /* It already has a right under this name (?!).  Well,
-                    there is this bizarre old Mach IPC feature (in #ifdef
-                    MACH_IPC_COMPAT in the ukernel) which results in new
-                    tasks getting a new receive right for task special
-                    port number 2.  What else might be going on I'm not
-                    sure.  So let's check.  */
-#if !MACH_IPC_COMPAT
-#define TASK_NOTIFY_PORT 2
-#endif
-                 assert (({ mach_port_t thisport, notify_port;
-                            mach_msg_type_name_t poly;
-                            (__task_get_special_port (newtask,
-                                                      TASK_NOTIFY_PORT,
-                                                      &notify_port) == 0 &&
-                             __mach_port_extract_right
-                             (newtask,
-                              portnames[i],
-                              MACH_MSG_TYPE_MAKE_SEND,
-                              &thisport, &poly) == 0 &&
-                             (thisport == notify_port) &&
-                             __mach_port_deallocate (__mach_task_self (),
-                                                     thisport) == 0 &&
-                             __mach_port_deallocate (__mach_task_self (),
-                                                     notify_port) == 0);
-                          }));
-               }
-             else if (err)
+             if (err = __mach_port_allocate_name (newtask,
+                                                  MACH_PORT_RIGHT_RECEIVE,
+                                                  portnames[i]))
                LOSE;
              if (porttypes[i] & MACH_PORT_TYPE_SEND)
                {