mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-10 07:10:06 +00:00
hurd: install correct number of send rights on fork
* sysdeps/mach/hurd/fork.c (__fork): Install correct number of send rights for its main user thread in NEWTASK.
This commit is contained in:
parent
db4855bf0c
commit
894f3e1311
@ -1,3 +1,8 @@
|
||||
2015-11-29 Thomas Schwinge <thomas@codesourcery.com>
|
||||
|
||||
* sysdeps/mach/hurd/fork.c (__fork): Install correct number of send
|
||||
rights for its main user thread in NEWTASK.
|
||||
|
||||
2015-11-28 Maciej W. Rozycki <macro@imgtec.com>
|
||||
|
||||
* sysdeps/mips/fpu_control.h (_FPU_RESERVED): Include ABS2008.
|
||||
|
@ -464,14 +464,10 @@ __fork (void)
|
||||
(err = __mach_port_insert_right (newtask, ss->thread,
|
||||
thread, MACH_MSG_TYPE_COPY_SEND)))
|
||||
LOSE;
|
||||
/* We have one extra user reference created at the beginning of this
|
||||
function, accounted for by mach_port_names (and which will thus be
|
||||
accounted for in the child below). This extra right gets consumed
|
||||
in the child by the store into _hurd_sigthread in the child fork. */
|
||||
if (thread_refs > 1 &&
|
||||
(err = __mach_port_mod_refs (newtask, ss->thread,
|
||||
MACH_PORT_RIGHT_SEND,
|
||||
thread_refs)))
|
||||
thread_refs - 1)))
|
||||
LOSE;
|
||||
if ((_hurd_msgport_thread != MACH_PORT_NULL) /* Let user have none. */
|
||||
&& ((err = __mach_port_deallocate (newtask, _hurd_msgport_thread)) ||
|
||||
|
Loading…
Reference in New Issue
Block a user