DronePan
DronePan copied to clipboard
Crashes in dispatch_group handling
Investigate using NSOperation/NSOperationQueue
The queue can be set to only allow one operation at a time and operations can be cancelled (individually or all in queue).
So we could have things like "yawOperation", "takePhotoOperation" and on timeout we cancel.
This would avoid having to maintain dispatch group counts, and cancel should help us avoid race conditions - issues with both of which can lead to a double group leave which is represented heavily in the crash list.