Not long ago, Patrick R. Michaud proclaimed... > In August [1] I posted some code to test the ability to > resume execution after a thrown exception. Here's a new > version of that code, updated for other recent changes > to Parrot's exceptions: > > ... snip ... > > As before, I'm simply trying to test the ability to > resume after exceptions thrown by C<foo>. > > Currently Parrot disables exception handlers when they're > invoked, thus the above results in "No exception handler" > when the second exception is thrown. What do we need to > modify in Parrot so that the exception handler isn't > automatically disabled? > > (In response to my August message Allison noted that > we needed to update "legacy" exception handlers for the > new model -- so I've begun the process of doing that update. > But now I need to know the appropriate patch or change to > make to Parrot so that it no longer disables handlers > upon invocation, so that I can complete the updates of > existing handlers.) > > Thanks!
r32756 I have now fixed the bug that prevented this from working. The issue was that we weren't properly refcounting the contexts when we created the return continuation to resume with. We were resuming to a freed context. I've got a blog post about it I'll post sometime soon. I also accidentally committed the 'stop disabling exception handlers' fix that I used to properly test that example. I'm looking to fix the last misbehaving tests right now, but if I can't, I guess I'll revert that fix. _______________________________________________ http://lists.parrot.org/mailman/listinfo/parrot-dev
