bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: behavior of NO SENDERS notifications when receive rights move


From: Kalle Olavi Niemitalo
Subject: Re: behavior of NO SENDERS notifications when receive rights move
Date: Fri, 30 Sep 2016 22:17:32 +0300
User-agent: Gnus/5.110007 (No Gnus v0.7) Emacs/23.0.51 (gnu/linux)

Richard Braun <rbraun@sceen.net> writes:

> I don't believe the Hurd ever moves receive rights, and if it is,
> it's most certainly very limited and local.

proc_handle_exceptions and startup_essential_task have a
"msgport: mach_port_move_receive_t" parameter.

In glibc, hurd/hurdfault.c (_hurdsig_fault_init) creates a port
with both receive and send rights, moves the receive right via
proc_handle_exceptions, and tells Mach to report exceptions of
the msgport thread to the send right.  It does not request
no-senders notification on the port before it moves the receive
right.

startup_essential_task is called from lots of places in the Hurd,
but the msgport argument seems to be MACH_PORT_NULL each time,
and startup/startup.c (S_startup_essential_task) does not even
use that parameter; I think it would leak the receive right if
it were given one.

A future version of rpctrace might want to move receive rights
if it were able to attach to a preexisting task.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]