[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
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=43574
Log:
* 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:
trunk/ChangeLog
trunk/gc.c
More information about the ruby-cvs
mailing list