[前][次][番号順一覧][スレッド一覧]

ruby-changes:22202

From: nagachika <ko1@a...>
Date: Tue, 10 Jan 2012 00:35:21 +0900 (JST)
Subject: [ruby-changes:22202] nagachika:r34250 (trunk): * gc.c (run_finalizer): clear rb_thread_t::errinfo when ignore

nagachika	2012-01-10 00:35:06 +0900 (Tue, 10 Jan 2012)

  New Revision: 34250

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=34250

  Log:
    * gc.c (run_finalizer): clear rb_thread_t::errinfo when ignore
      an exception under rb_protect(). [ruby-dev:45113]

  Modified files:
    trunk/ChangeLog
    trunk/gc.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 34249)
+++ ChangeLog	(revision 34250)
@@ -1,3 +1,8 @@
+Tue Jan 10 00:32:17 2012  CHIKANAGA Tomoyuki  <nagachika00@g...>
+
+	* gc.c (run_finalizer): clear rb_thread_t::errinfo when ignore
+	  an exception under rb_protect(). [ruby-dev:45113]
+
 Mon Jan  9 23:37:43 2012  CHIKANAGA Tomoyuki  <nagachika00@g...>
 
 	* ext/readline/readline.c (readline_attempted_completion_function):
Index: gc.c
===================================================================
--- gc.c	(revision 34249)
+++ gc.c	(revision 34250)
@@ -3092,7 +3092,10 @@
 	VALUE final = RARRAY_PTR(table)[i];
 	args[0] = RARRAY_PTR(final)[1];
 	args[2] = FIX2INT(RARRAY_PTR(final)[0]);
+	status = 0;
 	rb_protect(run_single_final, (VALUE)args, &status);
+	if (status)
+	    rb_set_errinfo(Qnil);
     }
 }
 

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]