02-27-06 12:50 PM
Maxim S. Shatskih wrote:
>
> Because this pollutes the notion of the "parent directory" - what director
y is
> parent - link1 or link2?
> This also can break any tool which does directory recursion.
I think this is the most important point.
As I understand it, the inventors of Unix originally intended all Unix
file systems to be 'acyclic', meaning that there should never be any
path that could reach a directory through one of its own subdirectories.
Unix had a variety of programs that recursed (or had an option to cause
it to recurse) through a subtree of the directory structure, meaning
that the program operated on the files in a directory, and then operated
on all the files (and subdirectories) in its subdirectories. These
programs did not (originally) have any precaution against the infinite
recursion that would be caused a cyclicity; the program would just get
stuck*.
Nowadays, modern Unixen (and their many progeny) have directory
symlinks, and sometimes other kinds of directory links, and recursive
programs have had to be modified to give them some resilience against
infinite recursion.
For more, go to Google Groups, and search for 'acyclic' in a.o.d.
--
Nick Roberts
* This used to be called a 'crash' in the old days, but nowadays 'crash'
seems to be used exclusively for a program terminating due to error. Of
course, a program that gets stuck often eventually runs out of (virtual)
memory, and then crashes. The problem nowadays is that it can take a
long time for a program to run out of virtual memory, and doing so can
cause mayhem. :-)
[ Post a follow-up to this message ]
|