From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <26c1814ccfc8559a96987385a144c4e7@quanstro.net> To: 9fans@9fans.net From: erik quanstrom Date: Mon, 13 Oct 2008 18:35:33 -0400 In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Subject: Re: [9fans] several things Topicbox-Message-UUID: 1dc35c36-ead4-11e9-9d60-3106f5b1d025 > 1) Having a window with rc and pressing CTRL+d usually closes the window. > However, from time to time it does not. Instead, I can see EOT (one > character; diagonally) written after the prompt, the window stays, I can > write anything into the window, but my commands are not executed. When does > this happen? this generally happens when you have mounted a fileserver which doesn't close all of rio's fds (inherited from the rc you terminated). rio considers the window active until all the fds are closed. > 2) Reading pwd.c I can see 'char pathname[512]' at the beginning of the main > function. Does it mean plan9 paths are thus limited? no. fileservers evaludate the path one element at a time. > 3) Why do I have to press END key several times to get to the bottom of a > window (usu when there is a lot of output text from the issued command)? > (The rio maunual says just one press.) if you notice that once you are at the end, you can press then and you will be at the end. so what's happening when you press when there's pending output is that you're placed at the end of the buffer but since the command producing the output blocked on its output, it immediately started outputting more data. so always puts you at the the *current* end of the buffer. that doesn't mean that there won't be data immediately available. > 4) What is the sense of > bind 'sth' 'the_same_sth' > ? (like 'bind / /' or 'bind /usr/ruda/a /usr/ruda/a') i believe this is a noop. in the case of "bind / /", look at /lib/namespace. consider the case where $rootdir isn't nil. > 5) When I do > > cd > mkdir a > mntgen a > bind lib a/b > unmount a > > all these command finish ok, but I am left with > > bind /usr/ruda/lib /usr/ruda/a/b > > in the namespace (see the result of the 'ns' command; there you can also > spot that after issueing the 'mntgen' command a line > 'bind /usr/ruda/a /usr/ruda/a/' appears; that relates to my 4th question; > this bind is the one removed by the 'unmount' command). > How can I get rid of that then? i don't think any pruning of inaccessable bits of the namespace is ever done. consider a program like ftpd which via /lib/namespace.ftp (sic) typically binds something like /usr/ftp/ onto /. while everything above /usr/ftp is unaccessable, it's not removed from the namespace and you can't touch it. ; mntgen a ; bind /env a/env ; bind /bin a/bin ; bind /proc a/proc ; bind a / ; ns consider it a security feature. - erik