Issue #2619 has been updated by Luis Lavena.
Hmn, defined?(fork) is not very useful:
<pre><code>
C:\Users\Luis>pik ruby -e "puts defined?(fork)"
IronRuby 0.9.3.0 on .NET 2.0.0.0
nil
jruby 1.4.0 (ruby 1.8.7 patchlevel 174) (2009-11-02 69fbfa3) (Java HotSpot(TM) Client VM 1.6.0_17) [x86-java]
method
ruby 1.8.6 (2009-06-08 patchlevel 369) [i386-mswin32]
method
ruby 1.8.6 (2009-08-04 patchlevel 383) [i386-mingw32]
method
ruby 1.8.7 (2009-12-24 patchlevel 248) [i386-mingw32]
method
ruby 1.8.7 (2009-12-24 patchlevel 248) [i386-mswin32]
method
ruby 1.9.1p376 (2009-12-07 revision 26041) [i386-mingw32]
method
ruby 1.9.1p376 (2009-12-07 revision 26041) [i386-mswin32]
method
ruby 1.9.2dev (2010-01-02 trunk 26229) [i386-mingw32]
</code></pre>
Yes, 1.9.2 returns nothing, not even nil
That means that checking for fork definition on any version as condition will make that code execute.
----------------------------------------
http://redmine.ruby-lang.org/issues/show/2619
----------------------------------------
http://redmine.ruby-lang.org