Fix hang when cancelling after perform

RunOnce now waits for a cancelled result if cancelled.
Merge pull request #5 from fraenkel/runoncehang

Fix hang when cancelling after perform