Issue #2505 has been updated by Christian Höltje. > > Some examples: > > priority doesn't do the same thing on Solaris than Linux. > > loop{} will lock the process up in Solaris, but not Linux. > > They may true. If a difference cause a practical problem, please report it. http://redmine.ruby-lang.org/issues/show/1169 - priority http://redmine.ruby-lang.org/issues/show/2359 - loop{} These are just two examples. Threading across platforms is very different. Heck, some platforms have multiple versions of threads. > These two are wrong. > Ruby 1.9 uses native threads but still use GIL just because of the problem you pointing out. I know that the GIL is still being used, but this still doesn't protect data-structures that aren't ready for native threads. A C extension can still be thread-unsafe and fail in hard to understand and debug ways. Having a new class that uses the native threads without the GIL everyplace would have been a better solution than potentially breaking. Or using something that is completely data safe, like using erlang style message passing with processes, would be even better and more platform independent; C extensions wouldn't have to worry about being thread safe and locks wouldn't be needed for passing information around. ---------------------------------------- http://redmine.ruby-lang.org/issues/show/2505 ---------------------------------------- http://redmine.ruby-lang.org