​below​ On Thu, Jul 28, 2016 at 7:16 PM, Sven Mascheck wrote: > On Wed, Jul 27, 2016 at 04:57:47PM -0400, Clem Cole wrote: > > I created Conditionally Dependant Symlinks (CDSL) which I think only > showed > > up in Masscomp's RTU, Stellix and Tru64. The were not only late > binding, > > but added the concept of a user settable context. Very handy when > trying > > to create a "single system image" from multiple system. > > How did you implement it? > ​Details are little fuzzy on some of the corner cases. If I thought about it, I bet they all come back. But basically bit crumbs in the u_area containing the "context" and then only trick was parsing the string in nami/lookup, so you could have N actions depending on the value of the context. i.e. path with embedded context string and grabbed another special character (which if I recall we used the @ to deliminate followed by a null then context1-> replacement1context2->replacement2 .... contextN->nth replacement which was originally linearly searched since the original use (universes) had a small number of contexts. When realized how useful they were @ LCC, and started to add support for clusters and the node name became one of the contexts, we had to get a bit smarter. Tru64 and the unreleased HP-UX implementation did some hashing and cleanup. I've forgotten if that was done before or after the Intel Paragon implementation. BSD symlink semantics was then left alone, although I think I remember I hacked the set/read code to handle the special char -- again IIR for set to translate foo at bar to be foo@@bar and read the opposite. Obviously you have a new failure of of the context did not match and an open question of how to set/get the different contexts which varied. For universes (which ​like Pyramid and others, Masscomp ​ RTU also ​provided ), my recollection ​ was a new command hacked into the shells ​ and we had a general set/get variable services that predates the system variable stuff of the BSDs and later Unix (that was modeled on VMS given the Masscomp folks were sometimes ex-VMS kernel developers). ​ For the original work at LCC (which is what went into HP-UX and the Paragon IIRC) , we had a new system service ​ for contexts and I've forgotten how that worked; but it was different from the Masscomp or later BSD style scheme​ . As for m​ y memory of Tru64 ​ (which only used CDSL's for handling node dependant info)​; the node name was set independently ​ using yet another scheme (which I've now forgotten), but was already in the u_area ​ so we could just look aside.​ Clem -------------- next part -------------- An HTML attachment was scrubbed... URL: