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

ruby-changes:17673

From: mame <ko1@a...>
Date: Thu, 4 Nov 2010 02:08:47 +0900 (JST)
Subject: [ruby-changes:17673] Ruby:r29682 (trunk): * cont.c (fiber_t_alloc): raise an error when fiber is going to be

mame	2010-11-04 02:08:35 +0900 (Thu, 04 Nov 2010)

  New Revision: 29682

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

  Log:
    * cont.c (fiber_t_alloc): raise an error when fiber is going to be
      initialized twice.  [ruby-dev:42524]

  Modified files:
    trunk/ChangeLog
    trunk/cont.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 29681)
+++ ChangeLog	(revision 29682)
@@ -1,3 +1,8 @@
+Thu Nov  4 02:06:16 2010  Yusuke Endoh  <mame@t...>
+
+	* cont.c (fiber_t_alloc): raise an error when fiber is going to be
+	  initialized twice.  [ruby-dev:42524]
+
 Thu Nov  4 02:04:25 2010  Yusuke Endoh  <mame@t...>
 
 	* cont.c (rb_fiber_resume): raise an "double resume" error when root
Index: cont.c
===================================================================
--- cont.c	(revision 29681)
+++ cont.c	(revision 29682)
@@ -971,6 +971,10 @@
     rb_fiber_t *fib;
     rb_thread_t *th = GET_THREAD();
 
+    if (DATA_PTR(fibval) != 0) {
+	rb_raise(rb_eRuntimeError, "cannot initialize twice");
+    }
+
     THREAD_MUST_BE_RUNNING(th);
     fib = ALLOC(rb_fiber_t);
     memset(fib, 0, sizeof(rb_fiber_t));

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

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