James Morrison <[EMAIL PROTECTED]> writes: > Off the current topic I've been looking at the symlink server > recently and there are two mach_port_t 's that I noticed. One is > realnode and the other is realnodenoauth. What is the difference > between these port_t's.
realnode comes from the fsys_startup() call: error = fsys_startup (bootstrap, 0, control, MACH_MSG_TYPE_COPY_SEND, &realnode); [0] realnodenoauth is like realnode, but without any associated [UG]IDs: io_restrict_auth (realnode, &realnodenoauth, 0, 0, 0, 0); [1] realnode isn't used any more: mach_port_deallocate (mach_task_self (), realnode); realnodenoauth gets returned to O_NOLINK lookups: if (flags & O_NOLINK) { /* Return our underlying node. */ *ret = realnodenoauth; [0] hurd/fsys.defs: /* Sent by filesystem on its bootstrap port upon startup. REALNODE is the node this filesystem is the translator for, opened with flags FLAGS (O_NOTRANS is assumed even if not provided). */ routine fsys_startup ( bootstrap: mach_port_t; RPT openflags: int; control_port: mach_port_send_t; out realnode: mach_port_send_t); [1] hurd/io.defs: /* Return another port which has been restricted to do only those things which both the current user and the newly specified user can do. */ routine io_restrict_auth ( io_object: io_t; RPT out new_object: mach_port_send_t; uids: idarray_t SCP; gids: idarray_t SCP); hth, moritz -- Moritz Schulte <[EMAIL PROTECTED]> http://www.chaosdorf.de/moritz/ Debian/GNU supporter - http://www.debian.org/ http://www.gnu.org/ GPG fingerprint = 3A14 3923 15BE FD57 FC06 B501 0841 2D7B 6F98 4199 _______________________________________________ Bug-hurd mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-hurd