From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <6a19626458e13903ed8dcf4a40eab71e@plan9.bell-labs.com> From: "Russ Cox" To: 9fans@cse.psu.edu Subject: Re: [9fans] Drawterm session close?? MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Date: Fri, 8 Mar 2002 20:53:43 -0500 Topicbox-Message-UUID: 621d107a-eaca-11e9-9e20-41e7f4b1d025 > > I'm not sure why the processes are left over. > > Usually a name space loop, but in this case > > that would mean rio has fs in its namespace > > and fs has rio in its namespace, but I don't > > think you can set things up that way. > Can you elaborate this point? I have no clue > what you are referring to. File servers like rio and fs stick around until the last references to their file servies go away. Those references take the form of other processes that have them mounted or the service files they post in /srv. (Actually the ref count is on the pipe that you are serving 9P over.) So: if rio has upas/fs mounted, and upas/fs has rio mounted, then you have a ref count loop and won't take them down. You can accomplish an easier ref count loop by writing a file server that mounts itself. This is why file servers do rfork(RFNOTEG) before entering the service loop. It would be helpful to see the stacks of the processes involved. You can do chmod +rw /proc/pid/ctl acid pid stk() to look at them (assuming you are bootes). Russ