<rdar://problem/17897780> We should invalidate the process assertion before releasing it. Fortunately this is really easy, since there is a simple 1:1 relationship with ProcessAssertion, with their lifetimes matching exactly.
Created attachment 238087 [details] Fix
Why do we need to do this? What does it fix?
(In reply to comment #2) > Why do we need to do this? What does it fix? See <rdar://problem/17897780>.
(In reply to comment #2) > Why do we need to do this? What does it fix? It fixes a race condition that can cause a crash when closing a tab in MobileSafari.
Committed revision 173623.
I wish this bug (and the ChangeLog entry) had a title that explained why we were doing this. Something like “Safari crashed when closing a tab in -[BKSProcessAssertionClient _handleDestroy:]”.