OK, I've read 3 of the articles :)
objc.io looks cool. Although I note nearly all the articles are written by https://github.com/dkduck - I don't know where he gets his info from. Would be nice to have more references and explanations, but it all seems to make sense.

> So if you have no(t too many) objections, I'll consider that merged, and use the deprecated warnings that will show up to take a deep hard look at our deadlock problems, and do a PR with that. 

Find by me. I've used so many 'bad' (according to the objc.io post) practices it may be difficult… ;-)

P.S. Maybe NASA should have hired Mr Samson to code the rover? :P

On 18 Medi 2013, at 05:36, Etienne Samson <notifications@github.com> wrote:

> In Quicksilver/Code-QuickStepFoundation/QSGCD.h:
> 
> > +
> > +inline void QSGCDQueueSync(dispatch_queue_t queue, void (^block)(void))
> > +{
> > +    if (dispatch_queue_get_label(queue) == dispatch_queue_get_label(dispatch_get_current_queue())) {
> > +        block();
> > +    } else {
> > +        dispatch_sync(queue, block);
> > +    }
> > +}
> > +
> > +inline void QSGCDQueueAsync(dispatch_queue_t queue, void (^block)(void))
> > +{
> > +    dispatch_async(queue, block);
> > +}
> > +
> > +inline void QSGCDSync(void (^block)(void))
> I think using priorities is a Bad Idea™, as explained here. Go read that, I'll wait ;-). Back ? Good, now read the rest of the article, it's very well done :-D.
> 
> Joking aside, I don't think having separate "priority" helpers is a good idea (as the article suggests). I'm pretty sure I've seen QS act like that because the main thread is now considered a "resource" because it's the only one that can do UI directly, and thus, firing 200 icon loads (even on a background queue) that will end up updating objects on the main thread synchronously will end badly (as #1607, #1603 seems to imply). An implicit rule I can think of is never dispatch_sync on the main thread things that 1) don't explicitly care about what's returned and 2) — and this is major — dispatch_sync again somewhere else (example here) though it doesn't seem obvious, but look at the stack trace in #1607, for thread 24, yay !).
> 
> So if you have no(t too many) objections, I'll consider that merged, and use the deprecated warnings that will show up to take a deep hard look at our deadlock problems, and do a PR with that. Right now I just feel it's too painful to debug anything when you end up deadlocked by something completely unrelated.
> 
> —
> Reply to this email directly or view it on GitHub.
>