I disagree here: > else > { > + /* Detect whether /proc/self/fd/../fd exists. On Linux, that name > + resolves to /proc/self/fd, which was opened above. However, on > + Solaris, it may resolve to /proc/self/fd/fd, which cannot exist, > + since all names in /proc/self/fd are numeric. */
Will be better /* Detect whether /proc/self/fd/%i/../fd exists. Where %i is an open fd on /proc/self/fd. On Linux, that name resolves to /proc/self/fd, which was opened above. However, on Solaris, it may resolve to /proc/self/fd/fd, which cannot exist, since all names in /proc/self/fd are numeric. */ Bastien