How about we allow some inter-thread TLS operations, but not others?

Maybe:

    Allowed:

        + reading values
        + updating value of existing keys (maybe)

    Disallowed:

        - setting value to a new key

In other words, the Allowed stuff is safe using a lock-free hash
table (maybe using rculfhash found in URCU <http://liburcu.org/>)

At least in non-Ruby (C99) projects, I've found inter-thread
TLS access useful when combined with atomic instructions.

But also, I guess there's no need to use Thread#[] at all if two
threads already agree to share some objects...

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>