actually, this variables are per-request only, since these are in the global Tcl namespace, so the only caching is within a single request. Not sure, if this was the intention.
In older versions of AOLserver, I recall that Tcl variables were
NOT cleaned up when the connection ended. They
remained behind, and if you wrote code that attempted to re-use an old
variable, sometimes it would work, if you happened to get a conn
thread with that variable already present, and sometimes it would
fail, when you got a different conn thread. Does that match your
memory of how things worked back then, Gustaf?
That per-thread tcl_url2file caching approach dates back
at least to ArsDigita's ACS 4.2 from early 2001, and probably
all the way back to ACS 4.0 or even earlier. (As I recall, the
abstract path handling was introduced late in the ACS 3.x series,
probably sometime in the year 2000.) Thus, the tcl_url2file cache was
designed for use with AOLserver version 3.3.x or earlier, and possibly
even intended to be backwards compatible with AOLserver 2.3.3 as well.
Likely its original author expected that the tcl_url2file
array variable would remain behind in each conn thread, for use as a
cache across multiple client requests.