There's no point checking for existence unless you're also going to do
something with it -- that's a separate operation and that's a race
condition.
If the cache is used to keep some flag about somehting, other thread can
just check if flag is set then do something.
A read only cache doesn't make any sense to me. If you're not
entering values at runtime, you're not using the cache feature of
purging which is the only thing differentiating it from an nsv. Just
use nsv's in this case.
When i said readonly i did not mean pure readonly, but not very
frequently updated cache.
It's a trade off. In this case the problem I have is that these extra
features encourage broken usage. I really think it's important to
find the real solution to the problem, which I'm happy to help you do.
I'm not keen to add broken features to the code base because yours is
too big to figure out though. Hope that doesn't sound too harsh, it's
not meant to be.
No offense taken but why is this broken usage, if naviserver would
propose only one way of doing things it would be very limited and not
many developers would use it because it would be hard to implement
different applications. It is not used by many now anyway so this is not
the point but our application is very different from OpenACS for
example, it is not only web app but true server backend which implements
device provisioning, network monitoring and other pretty complicated
logic. Having ability to do different thing different depending on the
task is very powerful. If i would have nsv_ arrays only i would never be
able to implement our system effectively, there is no one right way of
developing different applications.
Using Ns_Tls in C looks very usafull, why not having the same in Tcl as
well?
--
Vlad Seryakov
571 262-8608 office
[EMAIL PROTECTED]
http://www.crystalballinc.com/vlad/