aboutsummaryrefslogtreecommitdiffhomepage
path: root/Firestore/core/src/firebase/firestore/model
diff options
context:
space:
mode:
authorGravatar Gil <mcg@google.com>2018-03-13 14:19:15 -0700
committerGravatar GitHub <noreply@github.com>2018-03-13 14:19:15 -0700
commitd4d73ea53ecdf1e8ade3d00921419645dd5d66f7 (patch)
treebe3c51c202acd5d1fa0a40e330224b90fd67f38d /Firestore/core/src/firebase/firestore/model
parent687e8d768db7ea01219000ab25b43f524cc530ab (diff)
Defend against users making API calls during deinit (#863)
Track operation in progress FSTDispatchQueue ... and allow dispatchAsync onto the worker queue even from the same queue if an operation is not in progress. Fixes #753. This fixes a corner case that happens when users pass us an object and we retain that object in a block submitted to the worker queue for processing. Users are not obligated to retain that object themselves. This can lead to the object's destructor (or dealloc or deinit) being called on the Firestore worker thread. If that destructor makes Firestore API calls (most likely ListenerRegistration.remove but any are possible) this will trigger the assertion.
Diffstat (limited to 'Firestore/core/src/firebase/firestore/model')
0 files changed, 0 insertions, 0 deletions