On Fri, Sep 30, 2016 at 9:17 AM, Kalle Olavi Niemitalo <k...@iki.fi> wrote:

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

That's an important and interesting application that I hadn't thought of.

Now I'm wondering - how would DEAD NAME notifications be handled?  rpctrace
would want to transfer send rights with the DN notifications attached (so
it could wrap them both), but my experience, and my understanding of the
Mach documentation, is that moving a send right with a DN request triggers
a PORT DELETED notification, which is not what we would want.

Right now, I can't think of any way to circumvent the problem with the
current Mach API.  We could copy the send rights instead of moving them,
which would avoid triggering the notification, but then how would we
interpose rpctrace?  We could swap the ports all around with the target
task halted, and I'm not sure what would happen then.

We'd probably have to modify the kernel to allow rpctrace to transparently
attach like that.

    agape
    brent

Reply via email to