Thnx for the great info. I went stomping around the 5.8.7 source, and located
the TlsAlloc() call (in the ALLOC_THREAD_KEY macro), but can't find
more than a couple instances of ALLOC_THREAD_KEY being called...probably
requires a hard-core debug effort to track down why/where so many are needed.
(Unless any of the p5p'ers out there might shed some light ?)
I also googled about to see if I could find a registry key to tweak
Win32's limit, but wo/ luck, it appears to be a hardcoded value.
Which is a bit puzzling, given Win32's preference for
threading vs. forking. Considering that dual core CPU laptops
are now available, and both AMD and Intel have announced quadcores
for next year, I'd hope hardcoding this value might need re-examination,
if they intend to play in the high end server market.
(And the constant's name seems backwards: TLS_MINIMUM_AVAILABLE
actually means the maximum available). Guess I'll have
to wait and see what Vista brings.
I guess one can point fingers of shame at both Perl and Win32.
Fortunately, 120 threads is sufficient for my needs on Win32 at present.