diff options
-rw-r--r-- | ChangeLog | 19 | ||||
-rw-r--r-- | sysdeps/mach/hurd/fork.c | 13 |
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) { |