[svn:parrot] r46730 - trunk/src/ops

NotFound at svn.parrot.org NotFound at svn.parrot.org
Mon May 17 11:18:10 UTC 2010


Author: NotFound
Date: Mon May 17 11:18:10 2010
New Revision: 46730
URL: https://trac.parrot.org/parrot/changeset/46730

Log:
avoid longjmp if destination runloop is already current in unroll

Modified:
   trunk/src/ops/experimental.ops

Modified: trunk/src/ops/experimental.ops
==============================================================================
--- trunk/src/ops/experimental.ops	Mon May 17 10:01:33 2010	(r46729)
+++ trunk/src/ops/experimental.ops	Mon May 17 11:18:10 2010	(r46730)
@@ -400,8 +400,10 @@
         while (rl && rl->id != rid)
             rl = rl->prev;
         if (rl) {
-            rl->handler_start = dest;
-            longjmp(rl->resume, 3);
+            if (rl != interp->current_runloop) {
+                rl->handler_start = dest;
+                longjmp(rl->resume, 3);
+            }
         }
         else
             Parrot_ex_throw_from_c_args(interp, NULL,


More information about the parrot-commits mailing list