From 164ced04de494d709f9006cac920579d84b6befd Mon Sep 17 00:00:00 2001 From: naruse Date: Sun, 15 Apr 2012 07:37:45 +0000 Subject: Add debug prints to inspect TC_JSONGenerate#test_gc's timeout issue. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/json/fbuffer/fbuffer.h | 1 + ext/json/generator/generator.c | 1 + 2 files changed, 2 insertions(+) (limited to 'ext/json') diff --git a/ext/json/fbuffer/fbuffer.h b/ext/json/fbuffer/fbuffer.h index 3ff928856d..47e0c07004 100644 --- a/ext/json/fbuffer/fbuffer.h +++ b/ext/json/fbuffer/fbuffer.h @@ -68,6 +68,7 @@ static void fbuffer_inc_capa(FBuffer *fb, unsigned long requested) if (!fb->ptr) { fb->ptr = ALLOC_N(char, fb->initial_length); fb->capa = fb->initial_length; + fb->len = 0; } for (required = fb->capa; requested > required - fb->len; required <<= 1); diff --git a/ext/json/generator/generator.c b/ext/json/generator/generator.c index 21fef2b657..6eea7ff148 100644 --- a/ext/json/generator/generator.c +++ b/ext/json/generator/generator.c @@ -762,6 +762,7 @@ static void generate_json_bignum(FBuffer *buffer, VALUE Vstate, JSON_Generator_S { VALUE tmp = rb_funcall(obj, i_to_s, 0); fbuffer_append_str(buffer, tmp); + RB_GC_GUARD(tmp); } static void generate_json_float(FBuffer *buffer, VALUE Vstate, JSON_Generator_State *state, VALUE obj) -- cgit v1.2.3