bug-hurd
[Top][All Lists]
Advanced

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

Re: notify_no_senders oddity


From: Samuel Thibault
Subject: Re: notify_no_senders oddity
Date: Mon, 1 Jan 2007 22:48:38 +0100
User-agent: Mutt/1.5.11

Thomas Bushnell BSG, le Mon 01 Jan 2007 12:18:17 -0800, a écrit :
> > > >   bd->port = ipc_port_alloc_kernel ();
> > > >   ipc_port_nsrequest (bd->port, 1, notify, &notify);
> > > > 
> > > >       dev = (device_t) ns->not_header.msgh_remote_port;

> The MiG converters for the various types are not identical.  

But how is the differenciation done in this case?

More precisely, look at kern/ipc_kobject.c:ipc_kobject_notify():

        ipc_port_t port = (ipc_port_t) request_header->msgh_remote_port;
        ...
        switch (ip_kotype(port)) {
                case IKOT_DEVICE:
                return ds_notify(request_header);

and i386/i386at/i386at_ds_routines.c:ds_notify():

ds_notify (mach_msg_header_t *msg)
{
...
        dev = (device_t) msg->msgh_remote_port;
        if (dev->emul_ops->no_senders)

Both types are used for the same port.

Samuel




reply via email to

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