Clears out the run loop on cancel instead of dropping all of the queued items on the floor. This resolves a deadlock that could happen when the queue contained synchronous items that never got executed because of a disposal.
Clears out the run loop on cancel instead of dropping all of the queued items on the floor. This resolves a deadlock that could happen when the queue contained synchronous items that never got executed because of a disposal.

daveaglick/RunLooper,daveaglick/RunLooper