From: Julien A Date: 2011-12-16T18:48:48+09:00 Subject: [ruby-core:41697] [ruby-trunk - Bug #5750] Thread.current local-variables behavior Issue #5750 has been updated by Julien A. any news on this ? This documentation bug is here since 1.9 was first released from what I understand so I think it would be rather urgent to fix it, for me a documentation is even worse than a bug in the codebase since it leads you to think wrongly about how things works. ---------------------------------------- Bug #5750: Thread.current local-variables behavior http://redmine.ruby-lang.org/issues/5750 Author: Julien A Status: Open Priority: Normal Assignee: Akira Tanaka Category: Target version: ruby -v: 1.9.3-p0 Hi, I stumbled upon something which for me is a bug and wanted to check if it is working as intended or not: Thread.current[:a] = 1 p Thread.current[:a] # => 1 Fiber.new do p Thread.current[:a] # => nil end.resume There is clearly a problem in either the documentation or the implementation for me there, we are in the same thread yet the returned values are different which is completely counter intuitive... Why not add a fiber-variables store to allow the following and keep things separated between fibers and threads Fiber.current[:a] = 1 p Fiber.current[:a] # => 1 Fiber.new do p Fiber.current[:a] # => nil end.resume Which is now the behavior I would expect. -- http://redmine.ruby-lang.org