FROM : Jean-Daniel Dupas
DATE : Sun Mar 30 16:05:24 2008
It does not say to not use longjmp, it sais to not use longjmp to jump
outside this function.
Just encapsulate your code in a @try / @catch() block to ensure that
even if an exception occurs (@throw use longjmp in the 32 bits
runtime), it will jump in your catch block and not outside your
callback.
In the same way, if you are using C++ call in the call back, you have
to use a try/catch block to avoid that an exception trigger a non-
local return.
Le 30 mars 08 à 15:31, Trygve Inda a écrit :
>> void MyDisplayReconfigurationCallBack (
>> CGDirectDisplayID display,
>> CGDisplayChangeSummaryFlags flags,
>> void *userInfo
>> );
>>
>> Your callback function should avoid attempting to change display
>> configurations, and should not raise exceptions or perform a non-
>> local return
>> such as calling longjmp.
>
> Does this mean I should stuff display and flags into a dict and use
> something like
>
> - (void)performSelector:(SEL)aSelector withObject:(id)anArgument
> afterDelay:(NSTimeInterval)delay
>
> How can I ensure a longjmp is not used here?
>
> Thanks,
>
> Trygve
>
>
> _______________________________________________
>
> Cocoa-dev mailing list (<email_removed>)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/cocoa-dev/<email_removed>
>
> This email sent to <email_removed>
>
DATE : Sun Mar 30 16:05:24 2008
It does not say to not use longjmp, it sais to not use longjmp to jump
outside this function.
Just encapsulate your code in a @try / @catch() block to ensure that
even if an exception occurs (@throw use longjmp in the 32 bits
runtime), it will jump in your catch block and not outside your
callback.
In the same way, if you are using C++ call in the call back, you have
to use a try/catch block to avoid that an exception trigger a non-
local return.
Le 30 mars 08 à 15:31, Trygve Inda a écrit :
>> void MyDisplayReconfigurationCallBack (
>> CGDirectDisplayID display,
>> CGDisplayChangeSummaryFlags flags,
>> void *userInfo
>> );
>>
>> Your callback function should avoid attempting to change display
>> configurations, and should not raise exceptions or perform a non-
>> local return
>> such as calling longjmp.
>
> Does this mean I should stuff display and flags into a dict and use
> something like
>
> - (void)performSelector:(SEL)aSelector withObject:(id)anArgument
> afterDelay:(NSTimeInterval)delay
>
> How can I ensure a longjmp is not used here?
>
> Thanks,
>
> Trygve
>
>
> _______________________________________________
>
> Cocoa-dev mailing list (<email_removed>)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/cocoa-dev/<email_removed>
>
> This email sent to <email_removed>
>
| Related mails | Author | Date |
|---|---|---|
| Trygve Inda | Mar 30, 15:31 | |
| Jean-Daniel Dupas | Mar 30, 16:05 | |
| Trygve Inda | Apr 2, 00:12 | |
| Jean-Daniel Dupas | Apr 2, 01:19 |






Cocoa mail archive

