aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog19
-rw-r--r--sysdeps/mach/hurd/fork.c13
2 files changed, 25 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 99451da07a..6c1f55be36 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,22 @@
+2001-04-07 Roland McGrath <roland@frob.com>
+
+ * mach/msgserver.c (__mach_msg_server_timeout): Add an assert.
+
+2001-03-31 Roland McGrath <roland@frob.com>
+
+ * sysdeps/mach/hurd/fork.c: Skip NEWPROC just like NEWTASK when
+ copying send rights into child. When we hit our name for our proc
+ port, just copy NEWPROC directly instead of repeating proc_task2proc
+ to install the child's port.
+
+2001-04-08 Roland McGrath <roland@frob.com>
+
+ * Makeconfig ($(common-objpfx)soversions.i): Grok entries with DEFAULT
+ in second column, to provide default values for third column.
+ * shlib-versions: Add comments about using DEFAULT in second column.
+ (s390x-.*-linux.*): Replace individual entries with a DEFAULT entry.
+ (cris-.*-linux.*): Likewise.
+
2001-04-09 Ulrich Drepper <drepper@redhat.com>
* Makefile (distribute): Add scripts/documented.sh.
diff --git a/sysdeps/mach/hurd/fork.c b/sysdeps/mach/hurd/fork.c
index b28f5cb5d4..afc427045b 100644
--- a/sysdeps/mach/hurd/fork.c
+++ b/sysdeps/mach/hurd/fork.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1994,95,96,97,99 Free Software Foundation, Inc.
+/* Copyright (C) 1994,95,96,97,99,2001 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -296,8 +296,8 @@ __fork (void)
mach_port_urefs_t refs, *record_refs = NULL;
mach_port_t insert;
mach_msg_type_name_t insert_type = MACH_MSG_TYPE_COPY_SEND;
- if (portnames[i] == newtask)
- /* Skip the name we use for the child's task port. */
+ if (portnames[i] == newtask || portnames[i] == newproc)
+ /* Skip the name we use for the child's task or proc ports. */
continue;
if (portnames[i] == __mach_task_self ())
/* For the name we use for our own task port,
@@ -305,10 +305,9 @@ __fork (void)
insert = newtask;
else if (portnames[i] == _hurd_ports[INIT_PORT_PROC].port)
{
- /* Get the proc server port for the new task. */
- if (err = __proc_task2proc (portnames[i], newtask, &insert))
- LOSE;
- insert_type = MACH_MSG_TYPE_MOVE_SEND;
+ /* Use the proc server port for the new task. */
+ insert = newproc;
+ insert_type = MACH_MSG_TYPE_COPY_SEND;
}
else if (portnames[i] == ss->thread)
{