Exception propagation ffi_call
Andrew Haley
aph@redhat.com
Sat Jun 9 15:26:00 GMT 2012
On 06/09/2012 10:58 AM, Pascal Vantrepote wrote:
> Hi,
>
> I am using libffi for an Objective-c Application framework that I am writing. It seems the exception are getting lost in the ffi_call.
>
> This is my source:
>
> void clothureMethod(ffi_cif *cif, void* ret, void* args[], void* userData) {
> @try {
> for (id<IMessageBeforeAdvice> advice in beforeAdvices) {
> [advice beforeInvocation:methodName
> withTarget:(__bridge id)target];
> }
>
> ffi_call(cif, FFI_FN(originalImplementation), ret, args);
>
> for (id<IMessageAfterAdvice> advice in afterAdvices) {
> [advice afterInvocation:methodName
> withTarget:(__bridge id)target];
> }
> }
> @catch (NSException* exception) {
> for (id<IMessageExceptionAdvice> advice in exceptionAdvices) {
> [advice exception:exception
> duringInvocation:methodName
> withTarget:(__bridge id)target];
> }
> }
> @finally {
> }
> }
>
> Let me know if I am doing something wrong.
Probably not. It sometimes happens that there isn't sufficient information
to unwind through the asm portion of ffi_call. I think you'd have to debug
libffi to know for sure. What target is this?
Andrew.
More information about the Libffi-discuss
mailing list