Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Catch exceptions in VTABLE find_method #25

Merged
merged 2 commits into from Jan 2, 2012

Conversation

KrisShannon
Copy link
Contributor

I need this to get 'nqp --target=past -e 1' working again.

@KrisShannon
Copy link
Contributor Author

This came from dukeleto++ wanting to find the real cause I was just patching over in parrot/parrot#239

The sixmodel VTABLE find_method calls the find_method
in the containers STABLE which will throw instead of
returning NULL if it can't find the method.

Anything which is calling the VTABLE find_method is not
going to be expecting an exception so catch any exception
and return NULL.
@KrisShannon
Copy link
Contributor Author

UPDATED:

Dropped the new VTABLE can,
and moved the exception catching into VTABLE find_method

sorear++ pointed out that exceptions shouldn't be being thrown
from VTABLE find_method at all.

@KrisShannon
Copy link
Contributor Author

Hmm, it looks like this isn't good enough as an exception handler. I'm geting segfault's when I've intercepted an exception
and returned NULL to another C routine which sees the NULL and throw's it's own exception.

@KrisShannon KrisShannon merged commit b9c26af into Raku:master Jan 2, 2012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant