--Signatureed__22_Jun_2005_00_31_01_+0200_p6rlfaee5pu_D
Content-Type: text/plain; charset=US-ASCII
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, 21 Jun 2005 15:20:20 +0900
nobuyoshi nakada <nobuyoshi.nakada / ge.com> wrote:

> I'm feeling it seems too critical to allow GC to run.
> 
> Index: eval.c
> ===================================================================
> RCS file: /cvs/ruby/src/ruby/eval.c,v
> retrieving revision 1.791
> diff -U2 -p -r1.791 eval.c
> --- eval.c	20 Jun 2005 09:59:58 -0000	1.791
> +++ eval.c	21 Jun 2005 04:51:42 -0000
> @@ -10326,5 +10326,7 @@ rb_thread_save_context(th)
>      th->stk_pos = pos;
>      if (len > th->stk_max) {
> -	REALLOC_N(th->stk_ptr, VALUE, len);
> +	VALUE *ptr = realloc(th->stk_ptr, sizeof(VALUE) * len);
> +	if (!ptr) rb_memerror();
> +	th->stk_ptr = ptr;
>  	th->stk_max = len;
>      }

I tried your patch on ruby 1.8.3p1 and it made it working. No more "deadlocks" :)

Thank you
- Michel

--Signatureed__22_Jun_2005_00_31_01_+0200_p6rlfaee5pu_D
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFCuJU2ZvjSzHhNkDcRAp52AJ49//0C1s0UGbOQ4Oyk/vYa62CdsACdEqAm
J47+m6cMZXMo4I0CxI/J5p0Dy
-----END PGP SIGNATURE-----

--Signatureed__22_Jun_2005_00_31_01_+0200_p6rlfaee5pu_D--