[vlc-devel] [patch] VLCKit: exhaustive fix of VLCEventManager crashes, deadlocks and other issues
Felix Paul Kühne
fkuehne at videolan.org
Wed Jun 25 01:16:34 CEST 2014
Thanks a lot for your work.
Would you mind splitting your patch in 4 parts according to the information shared in your email?
Additionally, please submit a proper .patch file including authorship information, so we can merge your work correctly including but not limited to retaining your copyright and authorship rights.
On 24.06.2014, at 14:50, Florent Pillet <fpillet at gmail.com> wrote:
> - using @autoreleasepool instead of the old NSAutoreleasePool.
> Easier to read, slightly improves performance
Can you elaborate how this is faster? isn't just a different syntax for the same runtime feature? (I prefer the modern syntax you implemented, I'm not questioning this patch :))
> - fixed an issue where a messages's target, and further the target's delegate
> were not being retained for the duration of the delegate's selector callback.
> This could lead to crashes if the code executed by the delegate was leading
> to releasing the delegate itself prior to executing other methods (I can give
> a complete explanation for this with examples if needed)
> - fixed a deadlock that occurred under some severe conditions (most developers
> don't stress VLCKit that much, but I do) due to cancelling messages the had the side
> effect of releasing other objects which themselves tried to cancel their own messages.
> Parties involved were VLCMediaPlayer and VLCMedia, complete explanation of the issue
> with resolution is in the -cancelCallToObject: method.
> - fixed a crash due to over-releasing secondary objects (arguments, notification name)
> even though the message may have been cancelled before execution and these components
> already released.
> I am using VLCKit in some stressing conditions for the framework, and it generally behaves
> pretty well. This patch improves stability of this layer by a large factor.
Can you share the app name you are working on? Would be interesting for our "who is using VLCKit?" list :)
More information about the vlc-devel