Opening drill
Timeout vs cancellation in .NET | Aporeon