 ===================================================================
 --- thread.c	(revision 28647)
 +++ thread.c	(working copy)
-@@ -3883,19 +3883,48 @@
+@@ -3885,19 +3883,48 @@
      return ST_CONTINUE;
  }
  

     reg_cfp->sp -= num + 1;
 
     val = call_cfunc(def->body.cfunc.func, recv, (int)def->body.cfunc.argc, num, reg_cfp->sp + 1);
@@ -407,11 +407,21 @@
     if (reg_cfp != th->cfp + 1) {
 	rb_bug("cfp consistency error - send");
     }

  *     thr.set_trace_func(nil)     -> nil
  *
  *  Establishes _proc_ on _thr_ as the handler for tracing, or
@@ -3992,16 +4028,24 @@
  */
 
 static VALUE
