Re: [PATCH] proxy memory objects
[email protected] (Thomas Bushnell, BSG) 13 Dec 2002 11:47:00 -0800
| Newsgroups | gmane.os.hurd.devel.readers |
|---|---|
| Message-ID | <[email protected]> |
Marcus Brinkmann <[email protected]> writes: > On Wed, Dec 11, 2002 at 09:55:35PM -0800, Thomas Bushnell, BSG wrote: > > (Incidental question: why does vm_object_enter fail on a proxy? I > > would have expected it to hang when the call to memory_object_init > > fails to get a proper response. That is, it should see that this is > > the first time the kernel has noticed this "pager", send > > memory_object_init to it, and then do the vm_object_wait call looking > > for VM_OBJECT_EVENT_INITIALIZED, which should never happen.) > > Because of "po = ip_kotype(pager)", and we have a kotype for proxy objects, > so the "if (po != IKOT_NONE) break;" hits ("bail if there is already a > kobject associated with the pager port"). Later below, it is careful to > only do stuff if it is really a VM object, which it isn't because it is an > unhandled kernel object type. Ah, so a real pager, which is just an ordinary mach port, isn't an ikot at all, so you get IKOT_NONE. So we never bother sending the init request to the port and instead we notice that it's a kernel object. Cool.