[ruby-cvs:50717] ko1:r43574 (trunk): * gc.c (vm_malloc_increase): check GVL before gc_rest_sweep().

ko1 at ruby-lang.org ko1 at ruby-lang.org
Fri Nov 8 03:03:12 JST 2013

ko1	2013-11-08 03:03:12 +0900 (Fri, 08 Nov 2013)

  New Revision: 43574


    * gc.c (vm_malloc_increase): check GVL before gc_rest_sweep().
      vm_malloc_increase() can be called without GVL.
      However, gc_rest_sweep() assumes acquiring GVL.
      To avoid this problem, check GVL before gc_rest_sweep().
      [Bug #9090]
      This workaround introduces possibility to set malloc_limit as
      wrong value (*1). However, this may be rare case. So I commit it.
      *1: Without rest_sweep() here, gc_rest_sweep() can decrease
          malloc_increase due to ruby_sized_xfree().

  Modified files:

More information about the ruby-cvs mailing list