That makes sense, but I had a need to share data across fibers running in
the same thread, shouldn't there be a way to get hold to the parent thread's
local storage?

oldmoe

On Sun, Jul 12, 2009 at 7:21 AM, Yusuke ENDOH <mame / tsg.ne.jp> wrote:

> Hi,
>
> 2009/7/3 Muhammad Ali <redmine / ruby-lang.org>:
> > Thread.current[:x] = 1
> >
> > Fiber.new{Thread.current[:x]}.resume # => nil
> >
> > # returns nil when it should return 1
> > # even though Thread.current returns the same object
>
>
> I've heard that this is intentional.  Thread.current is both
> thread-local and fiber-local storage.
>
> I can't really remember the rationale, but I think that most of
> legacy libraries that uses thread-local storage will expect the
> storage to be also fiber-local.
>
> --
> Yusuke ENDOH <mame / tsg.ne.jp>
>
>