When using a proxy auto-configuration URL, we have to schedule the
execution on a runloop. This patch attempts two fixes, though both
are guesses as I cannot get a repro. The incidents of crashes in the
CFRunLoopRemoveSource() call in _removeRunLoopSource has gone up
dramatically for iOS 10.
Simplify run loop modes. Just use common modes.
Use CFRunLoopSourceInvalidate instead of CFRunLoopRemoveSource. It
will remove the source from all modes and invalidate it.
When using a proxy auto-configuration URL, we have to schedule the execution on a runloop. This patch attempts two fixes, though both are guesses as I cannot get a repro. The incidents of crashes in the CFRunLoopRemoveSource() call in _removeRunLoopSource has gone up dramatically for iOS 10.